Extensions are the soul of PostgreSQL, and Pigsty deeply integrates the core extension plugins of the PostgreSQL ecosystem, providing you with battery-included distributed temporal, geospatial text, graph, and vector database capabilities! Check extension list for details.
Pigsty includes over 150+ PostgreSQL extension plugins and has compiled, packaged, integrated, and maintained many extensions not included in the official PGDG source. It also ensures through thorough testing that all these plugins can work together seamlessly. Including some potent extensions:
- PostGIS: Add geospatial data support to PostgreSQL
- TimescaleDB: Add time-series/continuous-aggregation support to PostgreSQL
- PGVector: AI vector/embedding data type support, and ivfflat / hnsw index access method
- Citus: Turn a standalone primary-replica postgres cluster into a horizontally scalable distributed cluster
- Apache AGE: Add OpenCypher graph query language support to PostgreSQL, works like Neo4J
- PG GraphQL: Add GraphQL language support to PostgreSQL
- zhparser : Add Chinese word segmentation support to PostgreSQL, works like ElasticSearch
- Supabase: Open-Source Firebase alternative based on PostgreSQL
- FerretDB: Open-Source MongoDB alternative based on PostgreSQL
- PostgresML: Use machine learning algorithms and pretrained models with SQL
- ParadeDB: Open-Source ElasticSearch Alternative (based on PostgreSQL)
Plugins are already included and placed in the yum repo of the infra nodes, which can be directly enabled through PGSQL Cluster Config. Pigsty also introduces a complete compilation environment and infrastructure, allowing you to compile extensions not included in Pigsty & PGDG.
Some "database" are not actual PostgreSQL extensions, but also supported by pigsty, such as:
- Supabase: Open-Source Firebase Alternative (based on PostgreSQL)
- FerretDB: Open-Source MongoDB Alternative (based on PostgreSQL)
- NocoDB: Open-Source Airtable Alternative (based on PostgreSQL)
- DuckDB: Open-Source Analytical SQLite Alternative (PostgreSQL Compatible)
When you init a PostgreSQL cluster, the extensions listed in pg_packages
& pg_extensions
will be installed.
For default EL systems, the default values of pg_packages
and pg_extensions
are defined as follows:
pg_packages: # these extensions are always installed by default : pg_repack, wal2json, passwordcheck_cracklib
- pg_repack_${pg_version}* wal2json_${pg_version}* passwordcheck_cracklib_${pg_version}* # important extensions
pg_extensions: # install postgis, timescaledb, pgvector by default
- postgis34_${pg_version}* timescaledb-2-postgresql-${pg_version}* pgvector_${pg_version}*
For ubuntu / debian, package names are different, and passwordcheck_cracklib
is not available.
pg_packages: # these extensions are always installed by default : pg_repack, wal2json
- postgresql-${pg_version}-repack postgresql-${pg_version}-wal2json
pg_extensions: # these extensions are installed by default:
- postgresql-${pg_version}-postgis* timescaledb-2-postgresql-${pg_version} postgresql-${pg_version}-pgvector postgresql-${pg_version}-citus-12.1
Here, ${pg_version}
is a placeholder that will be replaced with the actual major version number pg_version
of that PostgreSQL cluster
Therefore, the default configuration will install these extensions:
pg_repack
: Extension for online table bloat processing.wal2json
: Extracts changes in JSON format through logical decoding.passwordcheck_cracklib
: Enforce password policy. (EL only)postgis
: Geospatial database extension (postgis34, EL7: postgis33)timescaledb
: Time-series database extensionpgvector
: Vector datatype and ivfflat/hnsw indexcitus
: Distributed/columnar storage extension, (citus is conflict withhydra
, choose one of them on EL systems)
If you want to enable certain extensions in a target cluster that has not yet been created, you can directly declare them with the parameters:
pg-meta:
hosts: { 10.10.10.10: { pg_seq: 1 ,pg_role: primary } }
vars:
pg_cluster: pg-meta
pg_databases:
- name: test
extensions: # <----- install these extensions for database `test`
- { name: postgis, schema: public }
- { name: timescaledb }
- { name: pg_cron }
- { name: vector }
- { name: age }
pg_libs: 'timescaledb, pg_cron, pg_stat_statements, auto_explain' # <- some extension require a share library to work
pg_extensions:
- postgis34_${pg_version}* timescaledb-2-postgresql-${pg_version}* pgvector_${pg_version}* hydra_${pg_version}* # default extensions to be installed
- pg_cron_${pg_version}* # <---- new extension: pg_cron
- apache-age_${pg_version}* # <---- new extension: apache-age
- zhparser_${pg_version}* # <---- new extension: zhparser
You can run the pg_extension
sub-task in pgsql.yml
to add extensions to clusters that have already been created.
./pgsql.yml -l pg-meta -t pg_extension # install specified extensions for cluster pg-v15
To install all available extensions in one pass, you can just specify pg_extensions: ['*${pg_version}*']
, which is really a bold move.
After the PostgreSQL cluster is inited, you can manually install plugins via Ansible or Shell commands. For example, if you want to enable a specific extension on a cluster that has already been initialized:
cd ~/pigsty; # enter pigsty home dir and install the apache age extension for the pg-test cluster
ansible pg-test -m yum -b -a 'name=apache-age_16*' # The extension name usually has a suffix like `_<pgmajorversion>`
Most plugins are already included in the yum repository on the infrastructure node and can be installed directly using the yum command. If not included, you can consider downloading from the PGDG upstream source using the repotrack
/ apt download
command or compiling source code into RPMs for distribution.
After the extension installation, you should be able to see them in the pg_available_extensions
view of the target database cluster. Next, execute in the database where you want to install the extension:
CREATE EXTENSION age; -- install the graph database extension
Currently, the major version PostgreSQL 16 has the following extensions available, here are the extensions RPMs maintained by Pigsty (only available on EL7/8/9):
name | version | source | comment |
---|---|---|---|
pgml | 2.8.1 | PIGSTY | PostgresML: access most advanced machine learning algorithms and pretrained models with SQL |
age | 1.5.0 | PIGSTY | Apache AGE graph database extension |
pointcloud | 1.2.5 | PIGSTY | A PostgreSQL extension for storing point cloud (LIDAR) data. |
http | 1.6 | PIGSTY | HTTP client for PostgreSQL, allows web page retrieval inside the database. |
gzip | 1.0 | PIGSTY | Gzip and unzip with SQL |
pg_tle | 1.3.4 | PIGSTY | Trusted Language Extensions for PostgreSQL |
roaringbitmap | 0.5 | PIGSTY | Support for Roaring Bitmaps |
zhparser | 2.2 | PIGSTY | Parser for full-text search of Chinese |
pg_net | 0.8.0 | PIGSTY | A PostgreSQL extension that enables asynchronous (non-blocking) HTTP/HTTPS requests with SQL |
pgjwt | 0.2.0 | PIGSTY | JSON Web Token API for Postgresql |
vault | 0.2.9 | PIGSTY | Extension for storing encrypted secrets in the Vault |
pg_graphql | 1.5.0 | PIGSTY | GraphQL support for PostgreSQL |
hydra | 1.1.1 | PIGSTY | Hydra is open source, column-oriented Postgres extension |
imgsmlr ❋ | 1.0.0 | PIGSTY | ImgSmlr method is based on Haar wavelet transform |
pg_similarity ❋ | 1.0.0 | PIGSTY | set of functions and operators for executing similarity queries |
pg_bigm ❋ | 1.2.0 | PIGSTY | full text search capability with create 2-gram (bigram) index. |
svector | 0.5.6 | PIGSTY | pg_sparse: Sparse vector data type and sparse HNSW access methods |
pg_bm25 | 0.5.6 | PIGSTY | ParadeDB: pg_bm25: Full text search for PostgreSQL using BM25 |
pg_analytics | 0.5.6 | PIGSTY | ParadeDB: Real-time analytics for PostgreSQL using columnar storage and vectorized execution |
duckdb_fdw | 1.1 | PIGSTY | DuckDB Foreign Data Wrapper |
Caveat: some extensions are not available on Debian/Ubuntu systems, you can build from source, including:
http
,gzip
,pg_tle
,roaringbitmap
,zhparser
,pgjwt
,vault
,hydra
,imgsmlr
,pg_bigm
,duckdb_fdw
.age
andpointcloud
are included in deb repo.pg_graphql
,pg_net
,pg_bm25
,pg_analytics
,svector
is available on Ubuntu 22.04.
Pigsty enlisted extensions:
name | version | source | type | pkg | comment |
---|---|---|---|---|---|
pgml | 2.8.1 | PIGSTY | FEAT | rpm | PostgresML: access most advanced machine learning algorithms and pretrained models with SQL |
age | 1.5.0 | PIGSTY | FEAT | rpm | Apache AGE graph database extension |
pg_graphql | 1.5.0 | PIGSTY | FEAT | rpm | GraphQL support for PostgreSQL (RUST, supabase) |
hydra | 1.1.1 | PIGSTY | FEAT | rpm | Hydra is open source, column-oriented Postgres extension |
pg_analytics | 0.5.6 | PIGSTY | FEAT | rpm | ParadeDB: Real-time analytics for PostgreSQL using columnar storage and vectorized execution |
pg_bm25 | 0.5.6 | PIGSTY | FEAT | rpm | ParadeDB: pg_bm25: Full text search for PostgreSQL using BM25 |
svector | 0.5.6 | PIGSTY | FEAT | rpm | ParadeDB: pg_sparse: Sparse vector data type and sparse HNSW access methods |
zhparser | 2.2 | PIGSTY | FEAT | rpm | Parser for full-text search of Chinese |
pg_bigm ❋ | 1.2.0 | PIGSTY | FEAT | rpm | full text search capability with create 2-gram (bigram) index. |
emaj | 4.3.1 | PGDG | FEAT | rpm | E-Maj extension enables fine-grained write logging and time travel on subsets of the database. |
periods | 1.2 | PGDG | FEAT | rpm | Provide Standard SQL functionality for PERIODs and SYSTEM VERSIONING |
pg_ivm | 1.7 | PGDG | FEAT | rpm | incremental view maintenance on PostgreSQL |
pgq | 3.5.1 | PGDG | FEAT | rpm | Generic queue for PostgreSQL |
pgq_node | 3.5 | PGDG | FEAT | deb | Cascaded queue infrastructure |
pgsodium | 3.1.9 | PGDG | FEAT | rpm | Postgres extension for libsodium functions |
timescaledb | 2.14.1 | PGDG | FEAT | rpm | Enables scalable inserts and complex queries for time-series data (Apache 2 Edition) |
wal2json | 2.5.3 | PGDG | FEAT | rpm | Capture JSON format CDC change via logical decoding |
decoderbufs | 0.1.0 | PGDG | FEAT | deb | Logical decoding plugin that delivers WAL stream changes using a Protocol Buffer format |
vector | 0.6.0 | PGDG | FEAT | rpm | vector data type and ivfflat / hnsw access method |
safeupdate | 1.4 | PGDG | FEAT | rpm | Require criteria for UPDATE and DELETE |
pg_hint_plan | 1.6.0 | PGDG | FEAT | rpm | Give PostgreSQL ability to manually force some decisions in execution plans |
pg_snakeoil | 1 | PGDG | FEAT | deb | The PostgreSQL Antivirus |
jsquery | 1.1 | PGDG | FEAT | deb | data type for jsonb inspection |
omnidb_plpgsql_debugger | 1.0.0 | PGDG | FEAT | deb | PostgreSQL extension for enabling PL/pgSQL debugger in OmniDB |
icu_ext | 1.8 | PGDG | FEAT | deb | Access ICU functions |
pgmemcache | 2.3.0 | PGDG | FEAT | deb | memcached interface |
pre_prepare | 0.4 | PGDG | FEAT | deb | Pre Prepare your Statement server side |
credcheck | 2.6.0 | PGDG | ADMIN | rpm | credcheck - postgresql plain text credential checker |
pg_cron | 1.6 | PGDG | ADMIN | rpm | Job scheduler for PostgreSQL |
pg_background | 1.0 | PGDG | ADMIN | rpm | Run SQL queries in the background |
pg_jobmon | 1.4.1 | PGDG | ADMIN | rpm | Extension for logging and monitoring functions in PostgreSQL |
pg_readonly | 1.0.0 | PGDG | ADMIN | rpm | cluster database read only |
pg_repack | 1.5.0 | PGDG | ADMIN | rpm | Reorganize tables in PostgreSQL databases with minimal locks |
pg_squeeze | 1.6 | PGDG | ADMIN | rpm | A tool to remove unused space from a relation. |
pgfincore | 1.3.1 | PGDG | ADMIN | rpm | examine and manage the os buffer cache |
pglogical | 2.4.4 | PGDG | ADMIN | rpm | PostgreSQL Logical Replication |
pglogical_origin | 1.0.0 | PGDG | ADMIN | rpm | Dummy extension for compatibility when upgrading from Postgres 9.4 |
pglogical_ticker | 1.4 | PGDG | ADMIN | deb | Have an accurate view on pglogical replication delay |
pgl_ddl_deploy | 2.2 | PGDG | ADMIN | deb | automated ddl deployment using pglogical |
toastinfo | 1 | PGDG | ADMIN | deb | show details on toasted datums |
pg_fact_loader | 2.0 | PGDG | ADMIN | deb | build fact tables with Postgres |
pgautofailover | 2.1 | PGDG | ADMIN | deb | pg_auto_failover |
mimeo | 1.5.1 | PGDG | ADMIN | deb | Extension for specialized, per-table replication between PostgreSQL instances |
prioritize | 1.0 | PGDG | ADMIN | rpm | get and set the priority of PostgreSQL backends |
pg_tle | 1.3.4 | PIGSTY | ADMIN | rpm | Trusted Language Extensions for PostgreSQL |
set_user | 4.0.1 | PGDG | AUDIT | rpm | similar to SET ROLE but with added logging |
passwordcracklib | 3.0.0 | PGDG | AUDIT | rpm | Enforce password policy |
pgaudit ❋ | 16.0 | PGDG | AUDIT | rpm | provides auditing functionality |
pgauditlogtofile | 1.5 | PGDG | AUDIT | deb | pgAudit addon to redirect audit log to an independent file |
pgcryptokey | 1.0 | PGDG | AUDIT | rpm | cryptographic key management |
duckdb_fdw | 1.1 | PIGSTY | FDW | rpm | DuckDB Foreign Data Wrapper |
hdfs_fdw | 2.0.5 | PGDG | FDW | rpm | foreign-data wrapper for remote hdfs servers |
mongo_fdw | 1.1 | PGDG | FDW | rpm | foreign data wrapper for MongoDB access |
multicorn ❋ | 2.4 | PGDG | FDW | rpm | Multicorn2 Python3.6+ bindings for Postgres 11++ Foreign Data Wrapper |
mysql_fdw | 1.2 | PGDG | FDW | rpm | Foreign data wrapper for querying a MySQL server |
pgbouncer_fdw | 1.1.0 | PGDG | FDW | rpm | Extension for querying pgbouncer stats from normal SQL views & running pgbouncer commands from normal SQL functions |
sqlite_fdw | 1.1 | PGDG | FDW | rpm | SQLite Foreign Data Wrapper |
tds_fdw | 2.0.3 | PGDG | FDW | rpm | Foreign data wrapper for querying a TDS database (Sybase or Microsoft SQL Server) |
oracle_fdw | 1.2 | PGDG | FDW | deb | foreign data wrapper for Oracle access |
ogr_fdw | 1.1 | PGDG | FDW | deb | foreign-data wrapper for GIS data access |
count_distinct | 3.0.1 | PGDG | FUNC | rpm | An alternative to COUNT(DISTINCT ...) aggregate, usable with HashAggregate |
ddlx | 0.27 | PGDG | FUNC | rpm | DDL eXtractor functions |
extra_window_functions | 1.0 | PGDG | FUNC | rpm | Additional window functions to PostgreSQL |
first_last_agg | 0.1.4 | PGDG | FUNC | deb | first() and last() aggregate functions |
mysqlcompat ❋ | 0.0.7 | PGDG | FUNC | rpm | MySQL compatibility functions |
orafce | 4.9 | PGDG | FUNC | rpm | Functions and operators that emulate a subset of functions and packages from the Oracle RDBMS |
pgsql_tweaks | 0.10.2 | PGDG | FUNC | rpm | Some functions and views for daily usage |
tdigest | 1.4.1 | PGDG | FUNC | rpm | Provides tdigest aggregate function. |
topn | 2.6.0 | PGDG | FUNC | rpm | type for top-n JSONB |
unaccent | 1.1 | PGDG | FUNC | rpm | text search dictionary that removes accents |
table_log | 0.6.1 | PGDG | FUNC | deb | Module to log changes on tables |
pg_sphere | 1.4.2 | PGDG | FUNC | deb | spherical objects with useful functions, operators and index support |
pgpcre | 1 | PGDG | FUNC | deb | Perl Compatible Regular Expression functions |
q3c | 2.0.1 | PGDG | FUNC | deb | q3c sky indexing plugin |
postgis | 3.4.2 | PGDG | GIS | rpm | PostGIS geometry and geography spatial types and functions |
postgis_raster | 3.4.2 | PGDG | GIS | rpm | PostGIS raster types and functions |
postgis_sfcgal | 3.4.2 | PGDG | GIS | rpm | PostGIS SFCGAL functions |
postgis_tiger_geocoder | 3.4.2 | PGDG | GIS | rpm | PostGIS tiger geocoder and reverse geocoder |
postgis_topology | 3.4.2 | PGDG | GIS | rpm | PostGIS topology spatial types and functions |
address_standardizer | 3.4.2 | PGDG | GIS | rpm | Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. |
address_standardizer_data_us | 3.4.2 | PGDG | GIS | rpm | Address Standardizer US dataset example |
pointcloud | 1.2.5 | PIGSTY | GIS | rpm | A PostgreSQL extension for storing point cloud (LIDAR) data. |
bloom | 1.0 | PGDG | INDEX | rpm | bloom access method - signature file based index |
hll ❋ | 2.18 | PGDG | INDEX | rpm | type for storing hyperloglog data |
pgtt | 3.1.0 | PGDG | INDEX | rpm | Extension to add Global Temporary Tables feature to PostgreSQL |
rum | 1.3 | PGDG | INDEX | rpm | RUM index access method |
hstore_plperl | 1.0 | PGDG | LANG | rpm | transform between hstore and plperl |
hstore_plperlu | 1.0 | PGDG | LANG | rpm | transform between hstore and plperlu |
plpgsql_check | 2.7 | PGDG | LANG | rpm | extended check for plpgsql functions |
plsh | 2 | PGDG | LANG | rpm | PL/sh procedural language |
pllua | 2.0 | PGDG | LANG | deb | Lua as a procedural language |
plluau | 2.0 | PGDG | LANG | deb | Lua as an untrusted procedural language |
hstore_plluau | 1.0 | PGDG | LANG | deb | Hstore transform for untrusted Lua |
citus | 12.1-1 | PGDG | SHARD | rpm | Citus distributed database |
citus_columnar | 11.3-1 | PGDG | SHARD | rpm | Citus Columnar extension |
pg_fkpart | 1.7 | PGDG | SHARD | rpm | Table partitioning by foreign key utility |
pg_partman | 5.0.1 | PGDG | SHARD | rpm | Extension to manage partitioned tables by time or ID |
plproxy ❋ | 2.10.0 | PGDG | SHARD | rpm | Database partitioning implemented as procedural language |
pg_show_plans | 2.0 | PGDG | STAT | deb | show query plans of all currently running SQL statements |
hypopg | 1.4.0 | PGDG | STAT | rpm | Hypothetical indexes for PostgreSQL |
logerrors | 2.1 | PGDG | STAT | rpm | Function for collecting statistics about messages in logfile |
pg_auth_mon | 1.1 | PGDG | STAT | rpm | monitor connection attempts per user |
pg_permissions | 1.1 | PGDG | STAT | rpm | view object permissions and compare them with the desired state |
pg_qualstats | 2.1.0 | PGDG | STAT | rpm | An extension collecting statistics about quals |
pg_stat_kcache | 2.2.3 | PGDG | STAT | rpm | Kernel statistics gathering |
pg_stat_monitor | 2.0 | PGDG | STAT | rpm | aggregated statistics, client information, plan details including plan, and histogram information. |
pg_store_plans ❋ | 1.7 | PGDG | STAT | rpm | track plan statistics of all SQL statements executed |
pg_track_settings | 2.1.2 | PGDG | STAT | rpm | Track settings changes |
pg_wait_sampling | 1.1 | PGDG | STAT | rpm | sampling based statistics of wait events |
pldbgapi | 1.1 | PGDG | STAT | rpm | server-side support for debugging PL/pgSQL functions |
plprofiler | 4.2 | PGDG | STAT | rpm | server-side support for profiling PL/pgSQL functions |
powa | 4.2.2 | PGDG | STAT | rpm | PostgreSQL Workload Analyser-core |
system_stats ❋ | 1.0 | PGDG | STAT | rpm | System statistic functions for PostgreSQL |
asn1oid | 1 | PGDG | TYPE | deb | ASN.1 OID Data Type |
citext | 1.6 | PGDG | TYPE | rpm | data type for case-insensitive character strings |
debversion | 1.1 | PGDG | TYPE | deb | Debian version number data type |
ip4r | 2.4 | PGDG | TYPE | rpm | IPv4/v6 and IPv4/v6 range index type for PostgreSQL |
pg_uuidv7 | 1.4 | PGDG | TYPE | rpm | pg_uuidv7: create UUIDv7 values in postgres |
pgmp | 1.1 | PGDG | TYPE | rpm | Multiple Precision Arithmetic extension |
semver | 0.32.1 | PGDG | TYPE | rpm | Semantic version data type |
timestamp9 | 1.4.0 | PGDG | TYPE | rpm | timestamp nanosecond resolution |
unit ❋ | 7 | PGDG | TYPE | rpm | SI units extension |
numeral | 1 | PGDG | TYPE | deb | numeral datatypes extension |
pg_rational | 0.0.1 | PGDG | TYPE | deb | bigint fractions |
roaringbitmap | 0.5 | PIGSTY | TYPE | rpm | Support for Roaring Bitmaps |
amcheck | 1.3 | CONTRIB | INDEX | rpm | functions for verifying relation integrity |
adminpack | 2.1 | CONTRIB | ADMIN | sys | administrative functions for PostgreSQL |
lo | 1.1 | CONTRIB | ADMIN | sys | Large Object maintenance |
old_snapshot | 1.0 | CONTRIB | ADMIN | sys | utilities in support of old_snapshot_threshold |
pg_prewarm | 1.2 | CONTRIB | ADMIN | sys | prewarm relation data |
pg_surgery | 1.0 | CONTRIB | ADMIN | sys | extension to perform surgery on a damaged relation |
dblink | 1.2 | CONTRIB | FDW | sys | connect to other PostgreSQL databases from within a database |
file_fdw | 1.0 | CONTRIB | FDW | sys | foreign-data wrapper for flat file access |
postgres_fdw | 1.1 | CONTRIB | FDW | sys | foreign-data wrapper for remote PostgreSQL servers |
gzip | 1.0 | PIGSTY | FUNC | rpm | Gzip and unzip with SQL |
http | 1.6 | PIGSTY | FUNC | rpm | HTTP client for PostgreSQL, allows web page retrieval inside the database. |
pg_net | 0.8.0 | PIGSTY | FUNC | rpm | A PostgreSQL extension that enables asynchronous (non-blocking) HTTP/HTTPS requests with SQL |
pgjwt | 0.2.0 | PIGSTY | FUNC | rpm | JSON Web Token API for Postgresql |
vault | 0.2.9 | PIGSTY | FUNC | rpm | Extension for storing encrypted secrets in the Vault |
imgsmlr ❋ | 1.0.0 | PIGSTY | FUNC | rpm | ImgSmlr method is based on Haar wavelet transform |
pg_similarity ❋ | 1.0.0 | PIGSTY | FUNC | rpm | set of functions and operators for executing similarity queries |
autoinc | 1.0 | CONTRIB | FUNC | sys | functions for autoincrementing fields |
dict_int | 1.0 | CONTRIB | FUNC | sys | text search dictionary template for integers |
dict_xsyn | 1.0 | CONTRIB | FUNC | sys | text search dictionary template for extended synonym processing |
earthdistance | 1.1 | CONTRIB | FUNC | sys | calculate great-circle distances on the surface of the Earth |
fuzzystrmatch | 1.2 | CONTRIB | FUNC | sys | determine similarities and distance between strings |
insert_username | 1.0 | CONTRIB | FUNC | sys | functions for tracking who changed a table |
intagg | 1.1 | CONTRIB | FUNC | sys | integer aggregator and enumerator (obsolete) |
intarray | 1.5 | CONTRIB | FUNC | sys | functions, operators, and index support for 1-D arrays of integers |
moddatetime | 1.0 | CONTRIB | FUNC | sys | functions for tracking last modification time |
pg_trgm | 1.6 | CONTRIB | FUNC | sys | text similarity measurement and index searching based on trigrams |
pgcrypto | 1.3 | CONTRIB | FUNC | sys | cryptographic functions |
refint | 1.0 | CONTRIB | FUNC | sys | functions for implementing referential integrity (obsolete) |
tablefunc | 1.0 | CONTRIB | FUNC | sys | functions that manipulate whole tables, including crosstab |
tcn | 1.0 | CONTRIB | FUNC | sys | Triggered change notifications |
tsm_system_rows | 1.0 | CONTRIB | FUNC | sys | TABLESAMPLE method which accepts number of rows as a limit |
tsm_system_time | 1.0 | CONTRIB | FUNC | sys | TABLESAMPLE method which accepts time in milliseconds as a limit |
uuid-ossp | 1.1 | CONTRIB | FUNC | sys | generate universally unique identifiers (UUIDs) |
btree_gin | 1.3 | CONTRIB | FUNC | sys | support for indexing common datatypes in GIN |
btree_gist | 1.7 | CONTRIB | FUNC | sys | support for indexing common datatypes in GiST |
bool_plperl | 1.0 | CONTRIB | LANG | sys | transform between bool and plperl |
bool_plperlu | 1.0 | CONTRIB | LANG | sys | transform between bool and plperlu |
hstore_plpython3u | 1.0 | CONTRIB | LANG | sys | transform between hstore and plpython3u |
jsonb_plperl | 1.0 | CONTRIB | LANG | sys | transform between jsonb and plperl |
jsonb_plperlu | 1.0 | CONTRIB | LANG | sys | transform between jsonb and plperlu |
jsonb_plpython3u | 1.0 | CONTRIB | LANG | sys | transform between jsonb and plpython3u |
ltree_plpython3u | 1.0 | CONTRIB | LANG | sys | transform between ltree and plpython3u |
plperl | 1.0 | CONTRIB | LANG | sys | PL/Perl procedural language |
plperlu | 1.0 | CONTRIB | LANG | sys | PL/PerlU untrusted procedural language |
plpgsql | 1.0 | CONTRIB | LANG | sys | PL/pgSQL procedural language |
plpython3u | 1.0 | CONTRIB | LANG | sys | PL/Python3U untrusted procedural language |
pltcl | 1.0 | CONTRIB | LANG | sys | PL/TCL procedural language |
pltclu | 1.0 | CONTRIB | LANG | sys | PL/TCLU untrusted procedural language |
pageinspect | 1.12 | CONTRIB | STAT | sys | inspect the contents of database pages at a low level |
pg_buffercache | 1.3 | CONTRIB | STAT | sys | examine the shared buffer cache |
pg_freespacemap | 1.2 | CONTRIB | STAT | sys | examine the free space map (FSM) |
pg_stat_statements | 1.10 | CONTRIB | STAT | sys | track planning and execution statistics of all SQL statements executed |
pg_visibility | 1.2 | CONTRIB | STAT | sys | examine the visibility map (VM) and page-level visibility info |
pg_walinspect | 1.1 | CONTRIB | STAT | sys | functions to inspect contents of PostgreSQL Write-Ahead Log |
pgrowlocks | 1.2 | CONTRIB | STAT | sys | show row-level locking information |
pgstattuple | 1.5 | CONTRIB | STAT | sys | show tuple-level statistics |
sslinfo | 1.2 | CONTRIB | STAT | sys | information about SSL certificates |
cube | 1.5 | CONTRIB | TYPE | sys | data type for multidimensional cubes |
hstore | 1.8 | CONTRIB | TYPE | sys | data type for storing sets of (key, value) pairs |
isn | 1.2 | CONTRIB | TYPE | sys | data types for international product numbering standards |
ltree | 1.2 | CONTRIB | TYPE | sys | data type for hierarchical tree-like structures |
prefix | 1.2.0 | CONTRIB | TYPE | sys | Prefix Range module for PostgreSQL |
seg | 1.4 | CONTRIB | TYPE | sys | data type for representing line segments or floating-point intervals |
xml2 | 1.1 | CONTRIB | TYPE | sys | XPath querying and XSLT |
Extension marked with
❋
is not support PostgreSQL 16 yet, but can be installed on lower version: 12/13/14/15.