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

相关推荐
jim写博客10 分钟前
Linux进程概念(四)环境地址变量
linux·运维·服务器
稚辉君.MCA_P8_Java16 分钟前
豆包 Java的23种设计模式
java·linux·jvm·设计模式·kubernetes
Nie_Xun1 小时前
ubuntu网络共享
linux·运维·ubuntu
花小璇学linux2 小时前
imx6ull-驱动开发篇22——Linux 时间管理和内核定时器
linux·运维·驱动开发
你好,赵志伟3 小时前
Socket 编程 TCP
linux·服务器·tcp/ip
Liang_GaRy4 小时前
心路历程-三个了解敲开linux的大门
linux·运维·服务器
一只栖枝8 小时前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
wuicer10 小时前
ubuntu 20.04 安装anaconda以及安装spyder
linux·运维·ubuntu
cui__OaO12 小时前
Linux软件编程--线程
linux·开发语言·线程·互斥锁·死锁·信号量·嵌入式学习
小狗爱吃黄桃罐头12 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习