postgresql16.0在centos7下编译安装

参考:

PostgreSQL: Documentation: 16: 17.3. Building and Installation with Autoconf and Make

PostgreSQL 编译安装通用步骤_大明湖畔的丘处机的博客-CSDN博客

注意*

PG15及以上版本需要 Python3+

复制代码
#安装依赖包
yum install -y libicu-devel
#下载源码包
wget https://ftp.postgresql.org/pub/source/v16.0/postgresql-16.0.tar.bz2 --no-check-certificate
tar jxvf postgresql-16.0.tar.bz2
cd postgresql-16.0
#开始编译
./configure --prefix=/home/opt/postgresql-16.0
make
make install
useradd postgres
mkdir -p /data/local/postgresql-16.0/data
chown postgres /data/local/postgresql-16.0/data
su - postgres
/data/local/postgresql-16.0/bin/initdb -D /data/local/postgresql-16.0/data --encoding=UTF8 --lc-collate=en_US.UTF-8 --lc-ctype=en_US.UTF-8
/data/local/postgresql-16.0/bin/pg_ctl -D /data/local/postgresql-16.0/data -l logfile start
/data/local/postgresql-16.0/bin/createdb test
/data/local/postgresql-16.0/bin/psql test

修改本地用户密码

复制代码
vim /data/local/postgresql-16.0/data/pg_hba.conf
#把pg_hba.conf里的"trust"改为"md5"
#psql命令
ALTER USER postgres WITH PASSWORD '密码';
#重启
/data/local/postgresql-16.0/bin/pg_ctl -D /data/local/postgresql-16.0/data -l logfile restart

添加远程访问权限

复制代码
vim /data/local/postgresql-16.0/data/postgresql.conf
#添加一行
listen_addresses = '*'

vim /data/local/postgresql-16.0/data/pg_hba.conf
#添加一行
host all postgres 0.0.0.0/0 md5

#重启
/data/local/postgresql-16.0/bin/pg_ctl -D /data/local/postgresql-16.0/data -l logfile restart

Navicat连接postgresql时出现'datlastsysoid does not exist'报错的问题

Postgres 15 从pg_database表中删除了 datlastsysoid 字段引发此错误。

解决方法1:升级navicat

解决方法2:降级pgsql

解决方法3:修改dll

打开 Navicat 安装目录,找到libcc.dll文件,可以先将其备份一下

在任何十六进制编辑器中打开此文件,如果需要,您可以使用在线工具,例如 https://hexed.it/

在文件中搜索"SELECT DISTINCT datlastsysoid",并将其替换为"SELECT DISTINCT dattablespace"

重启navicat,可以发现,无论老和新版本的pgsql,都可以正常访问了

相关推荐
码农101号15 分钟前
Linux中容器文件操作和数据卷使用以及目录挂载
linux·运维·服务器
PanZonghui33 分钟前
Centos项目部署之Nginx 的安装与卸载
linux·nginx
PanZonghui40 分钟前
Centos项目部署之安装数据库MySQL8
linux·后端·mysql
PanZonghui42 分钟前
Centos项目部署之运行SpringBoot打包后的jar文件
linux·spring boot
PanZonghui42 分钟前
Centos项目部署之Java安装与配置
java·linux
程序员弘羽1 小时前
Linux进程管理:从基础到实战
linux·运维·服务器
PanZonghui1 小时前
Centos项目部署之常用操作命令
linux
JeffersonZU1 小时前
Linux/Unix进程概念及基本操作(PID、内存布局、虚拟内存、环境变量、fork、exit、wait、exec、system)
linux·c语言·unix·gnu
大熊程序猿1 小时前
netcore PowerShell 安装-linux
linux·运维
Johny_Zhao2 小时前
Docker 一键安装部署 JumpServer 堡垒机
linux·网络安全·信息安全·云计算·shell·jumpserver·ldap·yum源·系统运维