1.官网下载源码
官网直达:postgresql源码下载
选择合适的版本

2.将tar包上传到ubuntu服务器
这里注意一点:博主服务器是
ubuntu22.04 LTS版本,所以你在这个版本打的二进制包,最好在同一个版本的ubuntu服务器部署,否则安装会报错

3.解压
bash
## 解压
tar -zxvf postgresql-16.8.tar.gz -C ./
4.配置及编译
bash
## 进入解压后的目录
cd postgresql-16.8
## 配置
./configure \
--prefix=/opt/pgsql16.8 \
--with-openssl \
--with-zlib \
--with-libxml \
--with-libxslt \
--enable-thread-safety
## 编译(耗时约5-10分钟,视服务器配置)
make -j$(nproc)
## 安装到/opt/pgsql16.8
make install
5.初始化配置
bash
## ================= 初始化data ================= ##
#创建用户
sudo useradd -m postgres
#准备数据目录
sudo mkdir -p /opt/pgsql16.8/data
sudo chown -R postgres:postgres /opt/pgsql16.8/data
sudo chmod 700 /opt/pgsql16.8/data
# 初始化DB 改成 postgres 用户执行:
sudo -u postgres /opt/pgsql16.8/bin/initdb -D /opt/pgsql16.8/data
6.打二进制包
解释:将
/opt目录下的pgsql16.8打包至/tmp/pgsql16.8-ubuntu.tar.gz打完
tar.gz包后,拷贝到相同版本的ubuntu服务器 就可以使用了,不需要再编译,安装一堆编译插件
bash
sudo tar -zcvf /tmp/pgsql16.8-ubuntu.tar.gz -C /opt pgsql16.8
其他(参考)
bash
# 配置编译参数(指定安装路径、功能开关)
./configure \
--prefix=/usr/lib/postgresql/16 \ # deb包默认安装路径(符合Ubuntu规范)
--sysconfdir=/etc/postgresql/16/main \ # 配置文件路径
--datadir=/usr/share/postgresql/16 \ # 数据共享目录
--localstatedir=/var/lib/postgresql/16 \ # 状态文件目录
--mandir=/usr/share/man \ # 手册页目录
--enable-nls \ # 启用多语言支持
--enable-ssl=openssl \ # 启用SSL
--enable-libxml \ # 启用XML支持
--enable-libxslt \ # 启用XSLT支持
--enable-icu \ # 启用ICU(字符集处理)
--with-zlib \ # 启用zlib压缩
--with-readline \ # 启用readline(命令行补全)
--with-systemd \ # 支持systemd服务(关键,Ubuntu 22.04必开)
--enable-thread-safety # 启用线程安全