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                    # 启用线程安全
相关推荐
小草cys2 小时前
【有问题未解决】Ubuntu arm版的桌面分辨率修改
linux·arm开发·ubuntu
鱼是一只鱼啊2 小时前
安装WSL及Ubuntu遇到问题安全频道支持出错
linux·安全·ubuntu
qinyia2 小时前
在Ubuntu 22.04.5 LTS上安装MySQL 8并设置root密码的完整协作流程
mysql·ubuntu·adb
xdpcxq10292 小时前
.NET Core 双数据库 PostgreSQL 与 SQLite 和平共处
数据库·postgresql·.netcore
robitmind2 小时前
操作input子系统,用模拟按键输入解锁ubuntu锁屏
linux·运维·ubuntu
数据知道2 小时前
PostgreSQL 核心原理:如何防止事务ID回卷?(Wraparound)
数据库·postgresql
DONG9992 小时前
To create a RAM-based block device in Ubuntu.
ubuntu
数据知道2 小时前
PostgreSQL 核心原理:大字段(大对象)是如何被压缩和存储的(TOAST存储机制)
数据库·postgresql
.小墨迹3 小时前
开源的自动驾驶框架
c++·人工智能·学习·算法·ubuntu·开源·自动驾驶