默认扩展

Pigsty 默认安装的 PostgreSQL 扩展

Pigsty 在初始化 PostgreSQL 集群时,会默认安装和启用一些核心扩展。


默认安装的扩展

通过 pg_packages 默认安装的扩展:

扩展说明
pg_repack在线处理表膨胀,重要的维护工具
wal2json逻辑解码输出 JSON 格式变更,CDC 场景常用

通过 pg_extensions 可选安装的扩展(默认注释):

扩展说明
postgis地理空间数据库扩展
timescaledb时序数据库扩展
pgvector向量数据类型与索引

默认启用的扩展

通过 pg_default_extensions 在所有数据库中默认启用的扩展:

扩展Schema说明
pg_stat_statementsmonitorSQL 语句执行统计
pgstattuplemonitor元组级统计信息
pg_buffercachemonitor缓冲区缓存检查
pageinspectmonitor页面级检查
pg_prewarmmonitor关系预热
pg_visibilitymonitor可见性映射检查
pg_freespacemapmonitor空闲空间映射检查
postgres_fdwpublicPostgreSQL 外部数据包装器
file_fdwpublic文件外部数据包装器
btree_gistpublicB-tree GiST 操作符类
btree_ginpublicB-tree GIN 操作符类
pg_trgmpublic三元组匹配
intaggpublic整数聚合器
intarraypublic整数数组函数
pg_repack-在线重组表

这些扩展提供基础的监控、运维和功能增强能力。


默认预加载的扩展

通过 pg_libs 默认预加载到 shared_preload_libraries 的扩展:

扩展说明
pg_stat_statements跟踪所有 SQL 语句的执行统计
auto_explain自动记录慢查询的执行计划

这两个扩展提供基本的可观测性,强烈建议保留。


自定义默认扩展

可以通过修改配置参数来自定义默认安装和启用的扩展:

all:
  vars:
    # 修改默认安装的扩展包
    pg_packages:
      - pgsql-main pgsql-common
      - pg_repack_$v* wal2json_$v*

    # 修改默认安装的扩展
    pg_extensions: [ postgis, timescaledb, pgvector ]

    # 修改默认预加载的扩展
    pg_libs: 'timescaledb, pg_stat_statements, auto_explain'

    # 修改默认启用的扩展
    pg_default_extensions:
      - { name: pg_stat_statements, schema: monitor }
      - { name: pg_repack }
      # ... 添加更多

详细的扩展使用方法请参阅:


最后修改 2025-12-20: new post on pgsql/arch (19aad69)