当前位置: 首页 > news >正文

postgresql源码安装

步骤 1: 安装依赖

在开始之前,请确保您的系统上安装了编译 PostgreSQL 所需的依赖包。使用以下命令安装必要的软件包:

对于 Debian/Ubuntu 系统:

sudo apt update
sudo apt install build-essential libreadline-dev zlib1g-dev flex bison libxml2-dev libxslt-dev libssl-dev libsystemd-dev

对于 CentOS/RHEL 系统:

sudo yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

步骤 2: 下载 PostgreSQL 源码

访问PostgreSQL的官方网站或源码下载页面:PostgreSQL源码下载。

  • 下载对应版本的源码包,例如postgresql-16.4.tar.gz

步骤 3: 解压源码包

下载完成后,解压源码包:

tar -xzf postgresql-16.4.tar.gz
cd postgresql-16.4

步骤 4: 配置编译选项

在编译之前,您需要配置编译选项。可以使用 ./configure 命令来设置编译选项。常见的选项包括:

  • –prefix=/usr/local/pgsql \ # 指定安装路径
  • –with-openssl \ # 启用 SSL 支持
  • –with-systemd \ # 支持 systemd 日志
  • –with-libxml \ # 启用 XML 支持
  • –with-libxslt \ # 启用 XSLT 支持
  • –enable-debug # 可选:启用调试符号

常用选项:

  • --prefix:指定安装目录(默认为 /usr/local/pgsql

  • --with-perl/--with-python:支持 PL/Perl 或 PL/Python

  • --with-icu:启用 ICU 排序规则支持

例如,您可以使用以下命令进行配置:

./configure --prefix=/usr/local/pgsql --with-openssl

步骤 5: 编译源码

配置完成后,使用 make 命令编译源码:

make

步骤 6: 安装 PostgreSQL

编译完成后,使用 make install 命令将 PostgreSQL 安装到指定的目录:

sudo make install

步骤 7: 创建 PostgreSQL 用户和数据目录

为了安全起见,建议创建一个专用的 PostgreSQL 用户,并为数据库创建数据目录:

sudo adduser postgres
sudo mkdir /usr/local/pgsql/data
sudo chown postgres /usr/local/pgsql/data

步骤 8: 初始化数据库集群

postgres 用户身份初始化数据库集群:

sudo -u postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

步骤 9: 启动 PostgreSQL

可以使用以下命令启动 PostgreSQL:

sudo -u postgres /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data

要在后台运行 PostgreSQL,您可以使用 -D 选项指定数据目录,并使用 & 符号将其放入后台:

sudo -u postgres /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data &

验证安装

连接到数据库

sudo -u postgres /usr/local/pgsql/bin/psql -c "SELECT version();

步骤 10: 创建数据库和用户

连接到 PostgreSQL 并创建数据库和用户:

sudo -u postgres /usr/local/pgsql/bin/psql

在 PostgreSQL 提示符下,您可以执行 SQL 命令来创建数据库和用户。例如:

CREATE DATABASE mydb;
CREATE USER myuser WITH PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;

步骤 11: 设置环境变量(可选)

为了方便使用 PostgreSQL 命令,您可以将 PostgreSQL 的 bin 目录添加到您的 PATH 环境变量中。在 ~/.bashrc~/.bash_profile 文件中添加以下行:

export PATH=$PATH:/usr/local/pgsql/bin

然后,运行以下命令使更改生效:

source ~/.bashrc

卸载或清理

  • 卸载已安装文件

    sudo make uninstall
    
  • 清理编译文件

    make clean       \# 清理中间文件
    make distclean   \# 彻底清理(包括 configure 生成的文件)
    

常见问题

  1. 依赖缺失
    configure 报错(如 missing library),根据提示安装对应开发包。

  2. 权限问题
    确保数据目录的所有者为 postgres 用户。

  3. 服务管理
    生产环境建议使用 systemd 管理服务,可参考官方文档配置服务文件。

注意事项

  • 生产环境需额外配置 postgresql.confpg_hba.conf

  • 编译前建议阅读源码目录下的 INSTALL 文件。

  • 若需调试,可在 configure 时添加 --enable-debug 选项。

总结

通过以上步骤,应该能够成功编译和安装 PostgreSQL。如果在任何步骤中遇到问题,请检查错误消息并确保所有依赖项已正确安装。您可以参考 PostgreSQL 的官方文档以获取更多详细信息和选项。

相关文章:

  • Jetpack Paging 终极封装:简洁、通用、高性能的分页加载方案
  • 完整项目案例:基于Django的毕业设计选题管理系统(包含源码结构、核心代码及设计文档框架)
  • spring boot 发送邮件验证码
  • VSTO(C#)Excel开发4:打印设置
  • 【C/C++】相交链表(leetcode T160)
  • C语言学习笔记-进阶(13)动态内存管理2
  • 欢乐力扣:有效的括号
  • FX-C++可变参数
  • webRTC实现一对一通话视频流程
  • SpringBoot 自动配置原理
  • 电能质量有哪些指标?
  • 深入解析pnpm与npm:颠覆传统包管理的技术革命与应用实践
  • 深度解析:主流大模型与智能体框架能力对比及实战指南
  • DeepSeek结合Mermaid绘图(流程图、时序图、类图、状态图、甘特图、饼图)转载
  • WPF 与 GMap.NET 结合实现雷达目标动态显示与地图绘制
  • 混沌理论与混沌映射——算法改进初始化创新点之一
  • 48. 旋转图像(C++)
  • 面向对象Demo01
  • 混沌映射可行性恢复粒子群优化算法
  • Day31 | 139. 单词拆分、198. 打家劫舍、213. 打家劫舍 II、337. 打家劫舍 III
  • 印度最新发声:对所有敌对行动均予以反击和回应,不会升级冲突
  • 中国海外发展:今年前4个月销售665.8亿元,花费305亿元拿地
  • “浦东时刻”在京展出:沉浸式体验海派风情
  • 屈晓华履新四川省社科联党组书记,此前担任省国动办主任
  • Meta正为AI眼镜开发人脸识别功能
  • 老铺黄金拟配售募资近27亿港元,用于门店拓展扩建及补充流动资金等