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,都可以正常访问了

相关推荐
A小辣椒15 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒19 小时前
TShark:基础知识
linux
AlfredZhao21 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩3 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言