postgresql16.8二进制包编译

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                    # 启用线程安全
相关推荐
geovindu4 天前
sql: Transaction & Concurrency Patterns using postgresql 18
postgresql·数据库开发·数据库架构
thinking_talk4 天前
WorkBuddy应用生成背后的数据层:腾讯云PG
postgresql·腾讯云·云数据库
zhangrelay4 天前
《机器人控制器设计与编程》课程习题资料-2026
linux·笔记·学习·ubuntu
Linux-lucky4 天前
39-41-Linux学习之旅之redis缓存基础与NFS基础
linux·运维·mysql·ubuntu
QQ14220784494 天前
2012 年的老 ThinkPad E430 改装 Ubuntu 24.04全程翻车排查实录
ubuntu·项目复盘
阿钱真强道4 天前
06 嵌入式操作系统 | vim 与软件管理:apt / 源码编译
ubuntu·vim·嵌入式·apt·源码编译
牢姐与蒯4 天前
Linux进程间通信(三).基于匿名管道的进程池的实现
linux·运维·服务器·ubuntu
Linux-lucky5 天前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
知识的搬运工旺仔5 天前
唯一索引与 NULL 值:PostgreSQL 主键约束与 NULLS NOT DISTINCT
数据库·后端·sql·postgresql
jnrjian5 天前
EDB postgresql TDE 加密的文件
postgresql