支持 PostgreSQL 13 / 14 / 15 / 16 / 17,三种部署模式,自动调优参数
生产级 PostgreSQL 安装脚本,支持单机、流复制、Patroni 高可用集群三种部署模式。自动识别操作系统、调优内存参数、配置 Systemd 服务,开箱即用。
单条命令完成 PostgreSQL 安装、初始化、服务配置全流程
支持异步和同步流复制,自动配置 WAL 归档和主备切换
支持 Patroni/repmgr/Pgpool-II 高可用方案,自动故障转移
兼容 RHEL/CentOS/Rocky/Alma/openEuler/麒麟/UOS/Ubuntu/Debian
支持 yum/dnf、apt、源码编译三种安装方式,满足不同场景需求
根据服务器内存自动计算 shared_buffers、effective_cache_size 等关键参数
支持逻辑复制配置,灵活的表级同步和跨版本迁移
自动配置 WAL 归档和基础备份,支持时间点恢复
覆盖从开发测试到生产高可用的全部场景
适用于开发测试、小型应用场景。安装单个 PostgreSQL 实例,自动完成 initdb 和参数调优,快速上手。
适用于读写分离、数据备份场景。支持一主多从流复制,可选异步或同步提交模式。
适用于高可用生产环境。Patroni + etcd 提供自动故障检测和主从切换,支持 VIP 漂移。
覆盖国内外主流 Linux 发行版
| 类别 | 操作系统 | 支持版本 |
|---|---|---|
| 企业级 Linux | RHEL | 789 |
| CentOS | 78 | |
| Rocky Linux | 89 | |
| AlmaLinux | 89 | |
| Oracle Linux | 789 | |
| 国产操作系统 | openEuler | 20.0322.03 |
| Kylin (麒麟) | V10 | |
| UOS (统信) | 20 | |
| Debian 系 | Ubuntu | 20.0422.0424.04 |
| Debian | 1112 |
三步完成 PostgreSQL 安装
开通会员后,在页面顶部点击「下载脚本」按钮获取安装包
脚本自动检测系统环境、安装依赖、初始化数据库并启动服务
chmod +x PgShellInstall && ./PgShellInstall --helpbash PgShellInstall --pg-version 16 --password 'YourPass123!'
bash PgShellInstall \ --pg-version 16 \ --password 'YourPass123!' \ --datadir /data/pgdata \ --port 5432 \ --charset utf8 \ --shared-buffers 4GB \ --effective-cache-size 12GB \ --max-connections 200 \ --enable-archiving
bash PgShellInstall \ --pg-version 16 \ --password 'YourPass123!' \ --mode streaming \ --primary-host 192.168.1.10 \ --standby-hosts 192.168.1.11,192.168.1.12 \ --repl-user replicator \ --repl-password 'ReplPass456!' \ --synchronous-commit on
bash PgShellInstall \ --pg-version 16 \ --password 'YourPass123!' \ --mode ha \ --nodes 192.168.1.10,192.168.1.11,192.168.1.12 \ --vip 192.168.1.100 \ --ha-tool patroni \ --etcd-endpoints 192.168.1.10:2379,192.168.1.11:2379,192.168.1.12:2379
按需配置参数,一键生成安装命令
./PgShellInstall脚本支持的所有命令行参数说明
| 参数 | 描述 | 默认值 | 适用模式 |
|---|---|---|---|
| --pg-version | PostgreSQL 版本 | 16 | 单机 |
| --port | 端口 | 5432 | 单机 |
| --datadir | 数据目录 | /var/lib/pgsql/data | 单机 |
| --install-dir | 安装目录 | /usr/pgsql-16 | 单机 |
| --locale | 区域设置 | en_US.UTF-8 | 单机 |
| --password | postgres 超级用户密码 | — | 单机 |
| --auth-method | 认证方式 | scram-sha-256 | 单机 |
| --shared-buffers | shared_buffers | 256MB | 单机 |
| --effective-cache-size | effective_cache_size | 1GB | 单机 |
| --work-mem | work_mem | 4MB | 单机 |
| --maintenance-work-mem | maintenance_work_mem | 64MB | 单机 |
| --max-connections | 最大连接数 | 100 | 单机 |
| --max-wal-size | max_wal_size | 1GB | 单机 |
| --install-method | 安装方式 | yum | 单机 |
| --enable-archiving | WAL 归档 | off | 单机 |
| --wal-level | wal_level | replica | 单机 |
| --huge-pages | 大页内存 | try | 单机 |
| --primary-host | 主库 IP | — | 流复制 |
| --standby-hosts | 备库 IP 列表 | — | 流复制 |
| --repl-user | 复制用户名 | replicator | 流复制 |
| --repl-password | 复制用户密码 | — | 流复制 |
| --synchronous-commit | synchronous_commit | off | 流复制 |
| --max-wal-senders | max_wal_senders | 10 | 流复制 |
| --nodes | 集群节点列表 | — | 高可用 |
| --vip | 虚拟 IP | — | 高可用 |
| --ha-tool | HA 工具 | patroni | 高可用 |
| --etcd-endpoints | etcd 节点 | — | 高可用 |
| --watchdog-mode | Watchdog 模式 | automatic | 高可用 |
显示 28 / 28 条参数
生产环境推荐使用 yum/dnf 安装(PGDG 官方仓库),版本稳定、升级方便。源码编译适合需要自定义编译选项的高级场景。
最低要求:1GB 内存、5GB 可用磁盘空间、Bash 4.0 以上版本、root 或具有 sudo 权限的账号。生产环境建议 4GB 以上内存。
不建议。脚本设计用于全新安装,在已有实例的服务器上运行可能导致端口冲突或数据目录覆盖。请在干净的系统上使用,或指定不同的端口和数据目录。
流复制是 PostgreSQL 原生的物理复制机制,配置简单,适合读写分离和数据备份。高可用集群在流复制基础上增加了 Patroni/etcd 自动故障检测和主从切换,适合对可用性要求高的生产环境。
支持。将对应版本的 RPM/DEB 包下载后放置在脚本同目录的 packages/ 子目录下,脚本会自动识别并跳过在线下载步骤,完成离线安装。
脚本本身不提供大版本升级功能。如需升级,建议使用 pg_upgrade 工具进行原地升级:先备份数据,安装新版本 PG,使用 pg_upgrade --link 完成快速升级,最后更新配置文件。
同系列 Oracle 数据库一键安装脚本,支持 19c / 21c / 26c
同系列 MySQL 数据库一键安装脚本,支持 5.7 / 8.0 / 8.4 / 9.0