Skip to content

Extension Management

One of Pigsty's highlights is 340+ precompiled PostgreSQL extensions — covering most scenarios you can think of.

Grouped by capability

CapabilityExamples
DistributedCitus, pg_shard
Columnar / OLAPHydra, citus columnar, pg_mooncake
Time-seriesTimescaleDB
GeoPostGIS, h3-pg, mobilitydb
Vector / AIpgvector, pgvectorscale, pg_vectorize
Full-textpg_search, zhparser, pgroonga
GraphAGE, pg_graph
DocumentDocumentDB (FerretDB), jsonb_plperl
Audit / securitypgaudit, anon, set_user
Queue / schedulerpgmq, pg_cron
Foreign dataoracle_fdw, mysql_fdw, file_fdw

Full list at the extension catalog.

Enable an extension

Two ways.

Declare in 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

Ad hoc SQL:

sql
CREATE EXTENSION pgvector;

Install missing extensions

Pigsty only installs a subset of "common" extensions by default; use pig (Pigsty's built-in package manager) to pull the rest:

bash
pig ext install timescaledb
pig ext install pg_cron

pig handles version dependencies, PG major-version matching, and yum / apt repo switching. See pig.

Custom extensions

If you need to compile your own extension, see:

Released under the AGPL 3.0 License