pgsql
原生 PostgreSQL 内核,支持 PostgreSQL 13 到 18 的多版本部署
pgsql 配置模板使用原生 PostgreSQL 内核,是 Pigsty 的默认数据库内核,支持 PostgreSQL 13 到 18 版本。
配置概览
- 配置名称:
pgsql - 节点数量: 单节点
- 配置说明:原生 PostgreSQL 内核配置模板
- 适用系统:
el8,el9,d12,u22,u24 - 适用架构:
x86_64,aarch64 - 相关配置:
meta
启用方式:
./configure -c pgsql [-i <primary_ip>]
如需指定特定 PostgreSQL 版本(如 17):
./configure -c pgsql -v 17
配置内容
源文件地址:pigsty/conf/pgsql.yml
all:
children:
infra: { hosts: { 10.10.10.10: { infra_seq: 1 }} ,vars: { repo_enabled: false }}
etcd: { hosts: { 10.10.10.10: { etcd_seq: 1 }} ,vars: { etcd_cluster: etcd }}
pg-meta:
hosts:
10.10.10.10: { pg_seq: 1, pg_role: primary }
vars:
pg_cluster: pg-meta
pg_users:
- {name: dbuser_meta ,password: DBUser.Meta ,pgbouncer: true ,roles: [dbrole_admin] ,comment: pigsty admin user }
- {name: dbuser_view ,password: DBUser.Viewer ,pgbouncer: true ,roles: [dbrole_readonly] ,comment: read-only viewer }
pg_databases:
- {name: meta ,baseline: cmdb.sql ,comment: pigsty meta database ,schemas: [pigsty] ,extensions: [{name: vector},{name: postgis}]}
pg_hba_rules:
- {user: dbuser_view , db: all ,addr: infra ,auth: pwd ,title: 'allow grafana access'}
node_crontab: [ '00 01 * * * postgres /pg/bin/pg-backup full' ]
vars:
version: v4.0.0
admin_ip: 10.10.10.10
region: default
infra_portal:
home : { domain: i.pigsty }
nodename_overwrite: false
node_repo_modules: node,infra,pgsql
node_tune: oltp
pg_version: 18 # 默认 PostgreSQL 18
pg_conf: oltp.yml
#----------------------------------------------#
# PASSWORD
#----------------------------------------------#
grafana_admin_password: pigsty
grafana_view_password: DBUser.Viewer
pg_admin_password: DBUser.DBA
pg_monitor_password: DBUser.Monitor
pg_replication_password: DBUser.Replicator
patroni_password: Patroni.API
haproxy_admin_password: pigsty
minio_secret_key: S3User.MinIO
etcd_root_password: Etcd.Root
配置解读
pgsql 模板是 Pigsty 的标准内核配置,使用社区原生 PostgreSQL。
版本支持:
- PostgreSQL 18(默认)
- PostgreSQL 17、16、15、14、13
适用场景:
- 需要使用最新 PostgreSQL 特性
- 需要最广泛的扩展支持
- 标准生产环境部署
- 与
meta模板功能相同,显式声明使用原生内核
与 meta 的区别:
pgsql模板显式声明使用原生 PostgreSQL 内核- 适合需要明确区分不同内核类型的场景