在操作过程中,因为偷懒使用了root用户。实际生产环境下切记使用该账号,反正次生灾害。普通用户执行的过程中加入sudo执行。
一、依赖项目
1 | sudo yum install -y gcc gcc-c++ make zlib-devel openssl-devel readline-devel libxml2-devel pam-devel bison flex |
二、下载PostgreSQL源代码
1 | (1) curl -O https://ftp.postgresql.org/pub/source/v16.2/postgresql-16.2.tar.bz2 |
三、配置编译选项:
1 | ./configure --prefix=/usr/local/pgsql |
创建用户和用户组
1 | groupadd postgres |
初始化数据库
1 | sudo -i -u postgres |
启动PostgreSQL服务
1 | /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start |
配置环境变量
1 | export PATH=$PATH:/usr/local/pgsql/bin |
验证安装
1 | psql -V |
Navicat客户端PostgreSQL连接报错:Could not connect to server:Connection refused(0x00002740/10061)
在当前ip下使用navicat 连接PGSQL的时候被拒绝了,开放的ip需要在pg_hba.conf文件中配置。文件中大概行数为82。填写完后保存。(ip/32 这个地方32是标识固定的ip 也有ip/24 标识ip的前面3位匹配都可以)同级目录下的postgresql.conf中59行左右,将listen_address修改为监听“*”,保存后重启pgsql。
1 | postgres 用户下执行 |
【注意:在本文中的pgsql是安装在postgres用户下的】对于可以使用外网的环境下,建议使用宝塔,一劳永逸,可视化操作。