Skip to content

扩展管理

Pigsty 的一大亮点是 340+ 预编译 PostgreSQL 扩展 —— 覆盖你能想到的大多数场景。

按能力归类

能力代表扩展
分布式Citus, pg_shard
列存 / 分析Hydra, citus columnar, pg_mooncake
时序TimescaleDB
地理PostGIS, h3-pg, mobilitydb
向量 / AIpgvector, pgvectorscale, pg_vectorize
全文检索pg_search, zhparser, pgroonga
AGE, pg_graph
文档DocumentDB (FerretDB), jsonb_plperl
审计 / 安全pgaudit, anon, set_user
队列pgmq, pg_cron
外部数据oracle_fdw, mysql_fdw, file_fdw

完整列表见 扩展目录

启用扩展

两种方式。

pigsty.yml 声明

yaml
pg_databases:
  - name: app_main
    extensions:
      - { name: pg_stat_statements }
      - { name: pgvector }
      - { name: postgis, schema: gis }
bash
./pgsql-db.yml -l pg-meta

临时在 SQL 里 CREATE

sql
CREATE EXTENSION pgvector;

安装缺失扩展

Pigsty 默认只装一部分"常用"扩展,其余按需通过 pig(Pigsty 自带的包管理器)拉取:

bash
pig ext install timescaledb
pig ext install pg_cron

pig 会处理版本依赖、PG 主版本匹配、yum/apt 源切换。详见 pig 工具.

自定义扩展

如果需要编译自己的扩展,参考:

基于 AGPL 3.0 协议发布