跳至主要內容

安装Postgresql

soulballad环境配置CentOSCentOS约 607 字大约 2 分钟

在线安装

官网地址: https://www.postgresql.org/download/linux/redhat/

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql14-server
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
sudo systemctl enable postgresql-14
sudo systemctl start postgresql-14

编译安装

下载编译

# 下载
[root@cdh1 ~]# wget --no-check-certificate https://ftp.postgresql.org/pub/source/v14.6/postgresql-14.6.tar.gz
[root@cdh1 ~]# tar -zxvf postgresql-14.6.tar.gz -C /usr/local/ 

# 安装依赖
[root@cdh1 ~]# yum -y install -y readline-devel zlib-devel
[root@cdh1 ~]# cd /usr/local/postgresql-14.6/

# 编译 默认路径 /usr/local/pgsql
[root@cdh1 postgresql-14.6]# ./configure
# [root@cdh1 postgresql-14.6]# ./configure --prefix=/usr/local/pgsql
[root@cdh1 postgresql-14.6]# make && make install

# 创建data目录
[root@cdh1 postgresql-14.6]# mkdir -p /usr/local/pgsql/data
[root@cdh1 postgresql-14.6]# vim /etc/profile
export PGHOME=/usr/local/pgsql
export PGDATA=$PGHOME/data
export PATH=$PATH:$PGHOME/bin
[root@cdh1 postgresql-14.6]# source /etc/profile

初始化

# 添加用户和组
[root@cdh1 ~]# groupadd pgsql
[root@cdh1 ~]# useradd -g pgsql pgsql
[root@cdh1 ~]# id pgsql
uid=1003(pgsql) gid=1003(pgsql) groups=1003(pgsql)
[root@cdh1 ~]# passwd pgsql
[root@cdh1 ~]# pgsql

# 设置权限
[root@cdh1 ~]# chown -R pgsql:pgsql /usr/local/pgsql

# 切换用户并初始化
[root@cdh1 ~]# su - pgsql
[/pgsql@cdh1 ~]$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
[/pgsql@cdh1 ~]$

启动服务

# 切换用户
su pgsql
# 启动实例
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
# 停止服务
/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/data -l logfile
# 创建测试数据库
/usr/local/pgsql/bin/createdb test
# 登录
/usr/local/pgsql/bin/psql test

# 修改管理员用户密码
ALTER USER postgres WITH PASSWORD '123456';

远程登录

  • /usr/local/pgsql/data/postgresql.conf 配置PostgreSQL数据库服务器的相应的参数
  • /usr/local/pgsql/data/pg_hba.conf 配置对数据库的访问权限

参数 “listen_addresses” 表示监听的IP地址,默认是在localhost处监听,也就是127.0.0.1的ip地址上监听,只接受来自本机localhost的连接请求

[/pgsql@cdh1 data]$ vim /usr/local/pgsql/data/pg_hba.conf
# 新增一行内容
host    all             all             0.0.0.0/0            trust

[/pgsql@cdh1 data]$ vim /usr/local/pgsql/data/postgresql.conf
# 修改 listen_addresses
listen_addresses = '*'          # what IP address(es) to listen on;
#port = 5432                            # (change requires restart)
[/pgsql@cdh1 data]$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data reload

开机启动

vi /usr/lib/systemd/system/postgresql.service

[Unit]
Description=postgreSQL Server
 
[Service]
User=pgsql
Group=pgsql
Type=forking
TimeoutSec=0
PermissionsStartOnly=true
ExecStart=/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data start
LimitNOFILE = 65535
Restart=on-failure
RestartSec=3
RestartPreventExitStatus=1
PrivateTmp=false
 
[Install]
WantedBy=multi-user.target

加载配置和启动

systemctl daemon-reload
systemctl start postgresql
systemctl enable postgresql

参考:

上次编辑于:
贡献者: soulballad