软件下载地址
http://www.postgres.cn/v2/download
软件安装参考文档
http://www.postgres.cn/docs
安装过程
将安装包解压到opt/postgresql-12.2目录中
# cd postgresql-12.2
检查安装环境信息
# ./configure
需要额外安装的包
# yum -y install gcc
# yum -y install gcc-c++
# yum -y install python
# yum -y install python-devel
# yum -y install readline-devel
# yum -y install bison
# yum -y install flex
开始编译
make
make all
make world
检查编译内容
make check
make install
安装文档,可以不选
make install-docs
make install-world
设置环境变量
# vi /etc/profile
i
PATH=/usr/local/pgsql/bin:$PATH
export PATH
LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH
MANPATH=/usr/local/pgsql/share/man:$MANPATH
export MANPATH
:wq
# source /etc/profile
#echo $LD_LIBRARY_PATH
#echo $MANPATH
#echo $PATH
创建文件目录
# cd /usr/local/pgsql
# mkdir data
# adduser postgres
# passwd postgres
# chown postgres /usr/local/pgsql/data
# su - postgres
# initdb -D /usr/local/pgsql/data
# pg_ctl -D /usr/local/pgsql/data -l logfile start
# createdb test
# psql test
设置超级管理员密码
initdb的-W、--pwprompt或--pwfile选项之一给数据库超级用户赋予一个口令
还可以指定-A md5或-A password,这样就不会使用默认的trust身份认证
或者在执行initdb之后、第一次启动服务器之前修改生成的pg_hba.conf文件
连接数据库
推荐连接工具pgAdmin,腾讯镜像下载地址:https://mirrors.cloud.tencent.com/postgresql/pgadmin/pgadmin4/v5.5/windows/
查看本地linux开放端口,如果5431默认监听是127.0.0.0需要修改/usr/local/pgsql/data/postgresql.conf的监听地址
# netstat -aptn
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1060/sshd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 64877/postgres
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1293/master
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 683/rpcbind
tcp 0 0 192.168.100.16:22 192.168.100.15:57600 ESTABLISHED 65741/sshd: root@no
tcp 0 0 192.168.100.16:22 192.168.100.15:54835 ESTABLISHED 65573/sshd: root@no
tcp 0 52 192.168.100.16:22 192.168.100.15:57635 ESTABLISHED 65768/sshd: root@pt
tcp6 0 0 :::22 :::* LISTEN 1060/sshd
tcp6 0 0 ::1:5432 :::* LISTEN 64877/postgres
tcp6 0 0 ::1:25 :::* LISTEN 1293/master
tcp6 0 0 :::111 :::* LISTEN 683/rpcbind
修改/usr/local/pgsql/data/postgresql.conf文件,设置成*表示监听所有ip的连接请求,也可以换成固定的IP。
listen_addresses = "*"
修改完成后再查看,5432端口号变成了0.0.0.0:5432,在这一步的时候我使用的是关闭数据库后启动来更改配置文件,不清楚直接reload会不会生效。
# netstat -aptn
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1060/sshd
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 66104/postgres
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1293/master
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 683/rpcbind
tcp 0 0 192.168.100.16:22 192.168.100.15:57600 ESTABLISHED 65741/sshd: root@no
tcp 0 0 192.168.100.16:22 192.168.100.15:54835 ESTABLISHED 65573/sshd: root@no
tcp 0 52 192.168.100.16:22 192.168.100.15:5763
修改/usr/local/pgsql/data/pg_hba.conf的# IPv4 local connections:,添加白名单
host all all 127.0.0.1/32 trust
host all all 192.168.100.15/32 trust
重新加载配置文件
# pg_ctl -D ../data reload
如果还不能访问,可以尝试关闭防火墙
检查防火墙状态
# systemctl status firewalld
# service iptables status
临时关闭防火墙
# systemctl stop firewalld
# service iptables stop
永久关闭防火墙
# systemctl disable firewalld
# chkconfig iptables off
重启防火墙
# systemctl enable firewalld
# service iptables restart