支持 PostgreSQL 13–19,三种部署模式,源码编译 + 自动调优 + 离线 / 信创全场景
生产级 PostgreSQL 源码编译安装脚本,支持单机、流复制、Patroni / repmgr / pgpool 三种高可用方案。自动识别操作系统、调优内存参数、配置 Systemd 服务,支持后台运行 + 实时 Web 日志查看器、断点续装,开箱即用。
单条命令完成 PostgreSQL 安装、初始化、服务配置全流程
支持异步和同步流复制,自动配置 WAL 归档和主备切换
Patroni / repmgr / pgpool 三种 HA 方案任选,自动 etcd / VIP 编排 + 故障转移
兼容 RHEL/CentOS/Rocky/Alma/openEuler/麒麟/UOS/Anolis/OpenCloudOS/TencentOS/Ubuntu/Debian,x86_64 + aarch64 双架构
源码编译安装(生产推荐),支持在线 PGDG、本地 ISO、离线 RPM/DEB/wheel 全场景,满足断网 / 信创需求
根据服务器内存自动计算 shared_buffers、effective_cache_size 等关键参数
安装后自动启用 pg_stat_statements、WAL 归档、autovacuum 调优、连接超时保护、健康检查脚本和安装报告
生成深色主题 HTML 报告,含步骤耗时、参数快照、生产优化状态和一键复制
自动配置 WAL 归档和基础备份,支持时间点恢复
-bg 后台运行 + -lp 端口实时 Web 日志查看器,关闭终端也能在浏览器看进度
失败/中断后用 --resume 自动跳过已完成步骤,节省重复时间,幂等可重入
原生支持 x86_64 与 aarch64(鲲鹏 / 飞腾 / 龙芯 7A 兼容机型),信创架构全覆盖
覆盖从开发测试到生产高可用的全部场景
适用于开发测试、小型应用场景。安装单个 PostgreSQL 实例,自动完成 initdb 和参数调优,快速上手。
适用于读写分离、数据备份场景。支持一主多从流复制,可选异步或同步提交模式。
适用于生产高可用环境。Patroni / repmgr / pgpool 三种方案任选,自动 etcd 协商、leader 选举、VIP 漂移、故障转移。
专业版满足日常运维,旗舰版解锁全部高可用方案
覆盖国内外主流 Linux 发行版
| 类别 | 操作系统 | 支持版本 |
|---|---|---|
| 企业级 Linux | RHEL | 789 |
| CentOS | 78 | |
| Rocky Linux | 89 | |
| AlmaLinux | 89 | |
| Oracle Linux | 789 | |
| Fedora | 38+ | |
| 国产 / 信创操作系统 | openEuler | 20.0322.0324.03 |
| Kylin (麒麟) | V10 | |
| NeoKylin (中标麒麟) | V7 | |
| UOS (统信) | 20 | |
| Anolis OS (龙蜥) | 7823 | |
| OpenCloudOS | 89 | |
| TencentOS Server | 3.x | |
| Asianux | 78 | |
| CTyunOS (天翼云) | 22.06 | |
| KOS (浪潮) | 5 | |
| Debian 系 | Ubuntu | 20.0422.0424.04 |
| Debian | 1112 | |
| Deepin | 2023 | |
| 处理器架构 | x86_64 (Intel / AMD) | 原生支持 |
| aarch64 (鲲鹏 / 飞腾 / arm64) | 原生支持 |
三步完成 PostgreSQL 安装
开通会员后,在页面顶部点击「下载脚本」按钮获取安装包
脚本自动检测系统环境、安装依赖、初始化数据库并启动服务
chmod +x PgShellInstall && ./PgShellInstall --help按场景选择最接近你环境的命令,一键复制即可使用
💡 单机开发 / 测试,最快跑起来
1bash PgShellInstall -v 17 -pw 'YourPass@2026'💡 单机生产,自动开启 pg_stat_statements / WAL archive / 健康检查
1bash PgShellInstall \2 -v 17 -pw 'YourPass@2026' \3 -d /data/pgdata -p 5432 \4 -tz Asia/Shanghai \5 -opd Y💡 同机并存第二套 PG(如 17 + 17 不同业务,或 17 + 18 灰度)
1bash PgShellInstall \2 -v 17 -pw 'YourPass@2026' \3 -d /data/pg17b -p 5433 \4 --shared-buffers 2GB \5 --max-connections 100 \6 -opd Y💡 5432 被占 / 安全策略要求换端口
1bash PgShellInstall -v 17 -pw 'YourPass@2026' -p 15432按需配置参数,一键生成安装命令
./PgShellInstall脚本支持的所有命令行参数说明
| 参数 | 描述 | 默认值 | 适用模式 |
|---|---|---|---|
| --pg-version | PostgreSQL 版本 | 16 | 单机 |
| --port | 端口 | 5432 | 单机 |
| --datadir | 数据目录 | /var/lib/pgsql/16/data | 单机 |
| --install-dir | 安装目录 | /usr/pgsql-16 | 单机 |
| --locale | 区域设置 | en_US.UTF-8 | 单机 |
| --source-pkg | 源码包路径 | — | 单机 |
| --local-pkg-dir | 离线资产目录 | — | 单机 |
| --password | postgres 超级用户密码 | — | 单机 |
| --auth-method | 认证方式 | scram-sha-256 | 单机 |
| --shared-buffers | shared_buffers | — | 单机 |
| --effective-cache-size | effective_cache_size | — | 单机 |
| --work-mem | work_mem | — | 单机 |
| --maintenance-work-mem | maintenance_work_mem | — | 单机 |
| --max-connections | 最大连接数 | 100 | 单机 |
| --allowed-networks | 允许的网段 | 0.0.0.0/0 | 单机 |
| --max-wal-size | max_wal_size | — | 单机 |
| --min-wal-size | min_wal_size | — | 单机 |
| --repo-mode | Repo 配置模式 | local | 单机 |
| --download-only | 仅下载源码包 | N | 单机 |
| --enable-archiving | WAL 归档 | off | 单机 |
| --wal-level | wal_level | replica | 单机 |
| --huge-pages | 大页内存 | try | 单机 |
| -opd | 安装后生产优化 | Y | 单机 |
| --timezone | 时区 | Asia/Shanghai | 单机 |
| --archive-dir | WAL 归档目录 | /var/lib/pgsql/backup/wal_archive | 单机 |
| --resume | 断点续装 | N | 单机 |
| --skip-preflight | 跳过安装前预检 | N | 单机 |
| --skip-optimize | 跳过生产优化 | N | 单机 |
| --background | 后台模式(-bg) | N | 单机 |
| --log-port | Web 日志端口(-lp) | — | 单机 |
| --force | 强制覆盖已有配置 | N | 单机 |
| --debug | Bash -x 调试日志 | N | 单机 |
| --primary-host | 主库 IP | — | 流复制 |
| --standby-hosts | 备库 IP 列表 | — | 流复制 |
| --repl-user | 复制用户名 | replicator | 流复制 |
| --repl-password | 复制用户密码 | — | 流复制 |
| --synchronous-commit | synchronous_commit | off | 流复制 |
| --max-wal-senders | max_wal_senders | 10 | 流复制 |
| --ssh-user | SSH 用户名 | root | 流复制 |
| --ssh-password | SSH 密码 | — | 流复制 |
| --ssh-port | SSH 端口 | 22 | 流复制 |
| --nodes | 集群节点列表 | — | 高可用 |
| --vip | 虚拟 IP | — | 高可用 |
| --vip-iface | VIP 绑定网卡 | — | 高可用 |
| --vip-cidr | VIP CIDR 前缀 | 32 | 高可用 |
| --ha-tool | HA 工具 | patroni | 高可用 |
| --etcd-endpoints | etcd 节点 | — | 高可用 |
| --watchdog-mode | Watchdog 模式 | automatic | 高可用 |
显示 48 / 48 条参数
以下场景均在物理环境中完成真实安装测试,全部通过验证。测试环境:RHEL 8.10,ESXi 8C/8GB VM。
| ID | 测试场景 | 模式 | 版本 | 安装方式 | 节点 | 耗时 | 状态 |
|---|---|---|---|---|---|---|---|
| P-1 | 单机源码编译安装 (PG 16) | 单机 | 16 | source | 1 | 263s | |
| P-2 | 单机 offline 安装 (PG 16, 15 秒完成) | 单机 | 16 | offline | 1 | 15s | |
| P-3 | 异步流式复制 (PG 16, 主备) | 主从/复制 | 16 | source | 2 | 428s | |
| P-4 | Patroni HA 集群 (PG 16, 三节点自动 failover) | 高可用 | 16 | source | 3 | — | |
| P-5 | repmgr HA 集群 (PG 16, 三节点全自动) | 高可用 | 16 | source | 3 | 399s | |
| P-6 | 单机 source 编译安装 (PG 16) | 单机 | 16 | source | 1 | 372s | |
| P-7 | 单机源码编译安装 (PG 14) | 单机 | 14 | source | 1 | 63s | |
| P-8 | pgpool-II HA 集群 (PG 16, watchdog + delegate_IP) | 高可用 | 16 | source | 3 | 432s | |
| P-9 | 同步流式复制 (PG 16, remote_apply) | 主从/复制 | 16 | source | 2 | 229s | |
| P-10 | 一主两备异步复制 (PG 16, 三节点) | 主从/复制 | 16 | source | 3 | 388s | |
| P-11 | 逻辑 WAL 级别 (PG 16, 发布/订阅就绪) | 单机 | 16 | source | 1 | 79s | |
| P-12 | Patroni HA + VIP (PG 16, 三节点) | 高可用 | 16 | source | 3 | — | |
| P-14 | 单机源码编译安装 (PG 15) | 单机 | 15 | source | 1 | 45s | |
| P-15 | 单机源码编译安装 (PG 17) | 单机 | 17 | source | 1 | 28s |
所有测试在 RHEL 8.10 (x86_64) 环境下执行,HA 集群使用三节点 ESXi VM
本脚本统一采用源码编译方式安装 PostgreSQL,优势是版本灵活(13–19)、不受发行版仓库限制、可在离线 / 断网 / 信创环境运行。脚本会自动安装编译依赖、按内存自动调优参数(shared_buffers / effective_cache_size 等)并配置 Systemd 服务。
最低要求:1GB 内存、5GB 可用磁盘空间、Bash 4.0 以上版本、root 或具有 sudo 权限的账号。生产环境建议 4GB 以上内存。
不建议。脚本设计用于全新安装,在已有实例的服务器上运行可能导致端口冲突或数据目录覆盖。请在干净的系统上使用,或指定不同的端口和数据目录。
流复制是 PostgreSQL 原生的物理复制机制,配置简单,适合读写分离和数据备份。高可用集群在流复制基础上增加了 Patroni/etcd 自动故障检测和主从切换,适合对可用性要求高的生产环境。
支持完整离线安装。使用 --source-pkg 指定本地 PostgreSQL 源码包路径(postgresql-*.tar.bz2/gz/xz),并用 --local-pkg-dir 指定离线 RPM/DEB/wheel/HA 资产目录(含 etcd、Patroni、repmgr、pgpool 全套),脚本会自动跳过所有外网下载,全程在断网环境完成。也可将源码包直接放到脚本同目录,脚本会自动识别。
脚本本身不提供大版本升级功能。如需升级,建议使用 pg_upgrade 工具进行原地升级:先备份数据,安装新版本 PG,使用 pg_upgrade --link 完成快速升级,最后更新配置文件。
可以。加 -bg / --background 即可把主体安装流程转入后台运行,前台会立刻打印一个 Web 日志查看器地址(默认端口 9527,可用 -lp / --log-port 自定义)。在浏览器打开就能实时查看彩色日志、进度条与每个步骤耗时,关闭 SSH 终端也不影响安装进程。脚本会在启动前自动放行防火墙端口。
不用。脚本内置 checkpoint 机制,每完成一个大步骤都会落盘记录。加 --resume 重新执行即可从上一次成功的步骤继续,已完成的步骤会被幂等跳过(如已 initdb 不再重做、已配置 systemd 不再重写)。配合 --debug 可在日志里看到详细 bash -x 跟踪信息。
同系列 Oracle 数据库一键安装脚本,支持 19c / 21c / 26c
同系列 MySQL 数据库一键安装脚本,支持 5.7 / 8.0 / 8.4 / 9.0