meta
核心配置文件,Pigsty默认使用的单节点安装配置模板,带有较完善的关键配置参数说明,与最小可用功能集。
meta 配置模板是 Pigsty 默认使用的模板,它的目标是在当前单节点上完成 Pigsty 核心功能 —— PostgreSQL 的部署。
为了实现最好的兼容性,meta 模板仅下载安装包含 最小必需 软件集合,以便在所有操作系统发行版与芯片架构上实现这一目标。
配置概览
- 配置名称:
meta - 节点数量: 单节点
- 配置说明:Pigsty 默认使用的单节点安装配置模板,带有较完善的关键配置参数说明,与最小可用功能集合。
- 适用系统:
el8,el9,d12,u22,u24 - 适用架构:
x86_64,aarch64 - 相关配置:
rich,demo
使用方式:此配置模板为 Pigsty 默认配置模板,因此在 configure 时无需显式指定 -c meta 参数:
./configure [-i <primary_ip>]
例如,如果您想要安装 PG 17,而非默认的 PostgreSQL 18,可以在 configure 中使用 -v 参数:
./configure -v 17 # or 16,15,14,13....
配置内容
源文件地址:pigsty/conf/meta.yml
all:
children:
#----------------------------------------------#
# PGSQL : pg-meta 单节点 PostgreSQL 集群
#----------------------------------------------#
pg-meta:
hosts:
10.10.10.10: { pg_seq: 1, pg_role: primary } # <---- 主实例,可读可写
#x.xx.xx.xx: { pg_seq: 2, pg_role: replica } # <---- 从库实例,只读流量
#x.xx.xx.xy: { pg_seq: 3, pg_role: offline } # <---- 离线实例,ETL/交互查询
vars:
pg_cluster: pg-meta
# 安装并加载扩展: https://doc.pgsty.com/pgsql/extension
pg_extensions: [ postgis, pgvector ]
# 定义业务用户/角色 : https://doc.pgsty.com/pgsql/user
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 }
# 定义业务数据库 : https://doc.pgsty.com/pgsql/db
pg_databases:
- name: meta
baseline: cmdb.sql
comment: "pigsty meta database"
schemas: [pigsty]
extensions: [ postgis, vector ]
# 定义 HBA 规则 : https://doc.pgsty.com/pgsql/hba
pg_hba_rules:
- { user: dbuser_view , db: all ,addr: infra ,auth: pwd ,title: 'allow grafana dashboard access cmdb from infra nodes' }
# 定义备份策略: https://doc.pgsty.com/pgsql/backup
node_crontab: [ '00 01 * * * postgres /pg/bin/pg-backup full' ] # 每天凌晨1点全量备份
# 定义(可选)L2 VIP 绑定到主库
#pg_vip_enabled: true
#pg_vip_address: 10.10.10.2/24
#pg_vip_interface: eth1
#----------------------------------------------#
# INFRA : 基础设施组件
#----------------------------------------------#
infra:
hosts:
10.10.10.10: { infra_seq: 1 }
vars:
repo_enabled: false # 单节点模式禁用本地软件源构建
#----------------------------------------------#
# ETCD : 高可用 DCS 服务
#----------------------------------------------#
etcd:
hosts:
10.10.10.10: { etcd_seq: 1 }
vars:
etcd_cluster: etcd
etcd_safeguard: false # 是否防止误删除运行中的etcd实例?
#----------------------------------------------#
# MINIO : 可选的备份存储 (默认禁用)
#----------------------------------------------#
#minio:
# hosts:
# 10.10.10.10: { minio_seq: 1 }
# vars:
# minio_cluster: minio
# minio_users:
# - { access_key: pgbackrest ,secret_key: S3User.Backup ,policy: pgsql }
# - { access_key: s3user_meta ,secret_key: S3User.Meta ,policy: meta }
# - { access_key: s3user_data ,secret_key: S3User.Data ,policy: data }
#----------------------------------------------#
# DOCKER & APP : Docker 与应用程序
#----------------------------------------------#
# 使用 ./app.yml 启动 pgadmin (http://10.10.10.10:8885 admin@pigsty.cc / pigsty)
app:
hosts: { 10.10.10.10: {} }
vars:
docker_enabled: true # 使用 ./docker.yml 启用 Docker
app: pgadmin # 指定默认安装的应用
apps:
pgadmin:
conf:
PGADMIN_DEFAULT_EMAIL: admin@pigsty.cc
PGADMIN_DEFAULT_PASSWORD: pigsty
#==============================================================#
# 全局参数
#==============================================================#
vars:
#----------------------------------------------#
# INFRA 基础设施参数
#----------------------------------------------#
version: v4.0.0 # Pigsty 版本号
admin_ip: 10.10.10.10 # 管理节点 IP 地址
region: china # 上游镜像区域: default|china|europe
proxy_env: # 下载软件包时的全局代理环境变量
no_proxy: "localhost,127.0.0.1,10.0.0.0/8,192.168.0.0/16,*.pigsty,*.aliyun.com,mirrors.*,*.myqcloud.com,*.tsinghua.edu.cn"
# http_proxy: # 在此设置您的代理: 例如 http://user:pass@proxy.xxx.com
infra_portal: # 通过 Portal 暴露的基础设施服务
home : { domain: i.pigsty }
pgadmin : { domain: adm.pigsty ,endpoint: "${admin_ip}:8885" }
#minio : { domain: m.pigsty ,endpoint: "${admin_ip}:9001" ,scheme: https ,websocket: true }
#----------------------------------------------#
# NODE 节点参数
#----------------------------------------------#
nodename_overwrite: false # 单节点模式不覆盖主机名
node_tune: oltp # 节点调优规格: oltp,olap,tiny,crit
node_etc_hosts: [ '${admin_ip} i.pigsty sss.pigsty' ]
node_repo_modules: 'node,infra,pgsql' # 直接将这些仓库添加到单节点
node_repo_remove: true # 移除 Pigsty 管理节点上的现有软件源
#----------------------------------------------#
# PGSQL PostgreSQL 参数
#----------------------------------------------#
pg_version: 18 # 默认 PostgreSQL 版本
pg_conf: oltp.yml # PostgreSQL 调优模板: {oltp,olap,tiny,crit}.yml
pg_safeguard: false # 是否防止误删除运行中的 PostgreSQL 实例?
pg_packages: [ pgsql-main, pgsql-common ] # PG 内核和常用工具
#pg_extensions: [ pg18-time ,pg18-gis ,pg18-rag ,pg18-fts ,pg18-olap ,pg18-feat ,pg18-lang ,pg18-type ,pg18-util ,pg18-func ,pg18-admin ,pg18-stat ,pg18-sec ,pg18-fdw ,pg18-sim ,pg18-etl]
#----------------------------------------------#
# 备份配置 (可选 MinIO)
#----------------------------------------------#
# 如需使用 MinIO 作为备份仓库,请取消下方注释
#pgbackrest_method: minio
#pgbackrest_repo:
# local:
# path: /pg/backup
# retention_full_type: count
# retention_full: 2
# minio:
# type: s3
# s3_endpoint: sss.pigsty
# s3_region: us-east-1
# s3_bucket: pgsql
# s3_key: pgbackrest
# s3_key_secret: S3User.Backup
# ...
#----------------------------------------------#
# 密码配置 : https://doc.pgsty.com/config/security
#----------------------------------------------#
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
配置解读
meta 模板是 Pigsty 的默认入门配置,专为快速上手设计。
适用场景:
- 首次体验 Pigsty 的用户
- 开发测试环境的快速部署
- 单机运行的小型生产环境
- 作为更复杂部署的基础模板
关键特性:
- 在线安装模式,不构建本地软件源(
repo_enabled: false) - 默认安装 PostgreSQL 18,带有
postgis和pgvector扩展 - 包含完整的监控基础设施(Grafana、Prometheus、Loki 等)
- 预置 Docker 与 pgAdmin 应用示例
- MinIO 备份存储默认禁用,可按需启用
注意事项:
- 默认密码为示例密码,生产环境务必修改
- 单节点模式的 etcd 无高可用保障,适合开发测试
- 如需构建本地软件源,请使用
rich模板