CentOS 7.9 安装 Postgresql v16.0 源码版
一、下载&准备工作
官网下载地址:https://www.postgresql.org/ftp/source/v16.0/
如果要其它版本,回上一级地址,可以进行选择:https://www.postgresql.org/ftp/source/
源码包操作:
postgresql-16.0.tar.gz 复制到 Linux 的 /usr/local/ 目录下,解压缩。
#解压缩 tar zxvf postgresql-16.0.tar.gz
防火墙设置:
#防火墙开放5432端口 firewall-cmd --zone=public --add-port=5432/tcp --permanent firewall-cmd --reload
二、编译&配置&安装&启动
尝试编译:
#配置 PostgreSQL cd /usr/local/postgresql-16 ./configure --prefix=/usr/local/postgresql
提示没有安装C编译器。
yum install gcc-c++
执行完,再试一次,
缺 icu 库,
yum install libicu-devel
再来。
少 readline 库
yum install readline-devel
少 zlib
yum install zlib
还是提示少 zlib
yum install zlib-devel
终于成功了。
那就继续:
make && make install
需要等待一段时间编译安装,然后创建相关目录 data、log
mkdir /usr/local/postgresql/data
mkdir /usr/local/postgresql/log
添加对应用户和权限。
# 增加用户 postgres 并赋权 useradd postgres chown -R postgres.postgres /usr/local/postgresql
# 设置密码
passwd postgres
修改系统环境变量
vi ./etc/profile
最后写入如下内容
export PGHOME=/usr/local/postgresql export PGDATA=/usr/local/postgresql/data export PGLIB=/usr/local/postgresql/lib export PATH=$PATH:$HOME/bin:$PGHOME/bin
立即生效
source /etc/profile
初始化数据库
su postgres
/usr/local/postgresql/bin/initdb -D /usr/local/postgresql/data/
修改配置文件
vi /usr/local/postgresql/data/pg_hba.conf
在文件最后增加一行
host all all 0.0.0.0/0 trust
启动服务
pg_ctl start -l /usr/local/postgresql/log/pg_server.log
完成服务启动。
三、远程连接
修改postgresql的配置文件# vi /var/lib/pgsql/data/postgresql.conf # 修改监听IP,改成当前 Linux 服务器的对应 IP listen_addresses = '10.12.58.211' # 打开日志采集器 logging_collector = on
重启 PostgreSQL
Navicat远程连接:
四、异常处理
如果出现这个问题:“datlastsysoid does not exist”
网上列出有三条路可以走:
1. 升级 Navicat 版本到 15.0.29或16.1;(经本人测试,没用:最新的16版本,都只支持到14。)
2. 使用 PostgreSQL 15之前的版本;(改用最新的14.9版本,OK了。)
3、修改 Navicat 工具安装目录下的 libcc.dll 文件。(经本人测试,没用:是不再报错了,但是库和表都看不到的。)
原因如下:
PostgreSQL 15 从 pg_database 表中移除了 datlastsysoid 这个字段,因此 Navicat 15.0.29 或 16.1 之前的版本在查找这个字段的时候会报这个错。
下面介绍通过方法三修改Navicat工具安装目录下的libcc.dll文件的方式,去解决此错误。
修改前,将libcc.dll文件复制备份,避免修改失败造成Navicat程序崩溃。
通过 https://hexed.it/ 网址,打开libcc.dll文件。 查询找到 datlastsysoid,修改为 dattablespace。
如下图:
最后,保存下载文件,并移动到程序安装目录。
重启Navicat,再次连接成功。
但是,所有的库表表都不显示了,所以整个也是扯蛋的。
还是改用14.X版本最靠谱。
注:文强哥精品集,祝各位使用愉快!