meta

核心配置文件,Pigsty默认使用的单节点安装配置模板,带有较完善的关键配置参数说明,与最小可用功能集。

meta 配置模板是 Pigsty 默认使用的模板,它的目标是在当前单节点上完成 Pigsty 核心功能 —— PostgreSQL 的部署。

为了实现最好的兼容性,meta 模板仅下载安装包含 最小必需 软件集合,以便在所有操作系统发行版与芯片架构上实现这一目标。


配置概览

  • 配置名称: meta
  • 节点数量: 单节点
  • 配置说明:Pigsty 默认使用的单节点安装配置模板,带有较完善的关键配置参数说明,与最小可用功能集合。
  • 适用系统:el8, el9, d12, u22, u24
  • 适用架构:x86_64, aarch64
  • 相关配置:richdemo

使用方式:此配置模板为 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,带有 postgispgvector 扩展
  • 包含完整的监控基础设施(Grafana、Prometheus、Loki 等)
  • 预置 Docker 与 pgAdmin 应用示例
  • MinIO 备份存储默认禁用,可按需启用

注意事项

  • 默认密码为示例密码,生产环境务必修改
  • 单节点模式的 etcd 无高可用保障,适合开发测试
  • 如需构建本地软件源,请使用 rich 模板

最后修改 2025-12-21: udpate conf structure (2cd7d6e)