Supported PostgreSQL Extensions
Last verified 28 Aug 2026
PostgreSQL is an open source, object-relational database built for extensibility, data integrity, and speed. Its concurrency support makes it fully ACID-compliant, and it supports dynamic loading and catalog-driven operations to let users customize its data types, functions, and more.
To expand the functionality of your PostgreSQL cluster, you can use extensions, which are bundled packages of SQL objects.
Install, Upgrade, or Disable Extensions
You can install supported extensions with psql’s CREATE EXTENSION command:
CREATE EXTENSION <extension-name>;You can upgrade extensions to their latest version with psql’s ALTER EXTENSION command:
ALTER EXTENSION <extension-name> UPDATE;You can disable extensions with psql’s DROP EXTENSION command:
DROP EXTENSION <extension-name>;To see a list of extensions currently installed, use the following command:
\dxThe pg_stat_statements extension is required for Query Analytics when monitoring with Percona Monitoring and Management (PMM). See Configure a PMM Monitoring User.
Standard Edition Supported Extensions
The following versioned lists apply to PostgreSQL Standard Edition clusters. This list is current as of the Validated date in the page footer.
You can see available extensions from the psql command line with the following command:
SELECT * FROM pg_available_extensions;Not all extensions listed in pg_available_extensions are installable on Standard Edition clusters. To list installable superuser-only and untrusted extensions on Standard Edition, run the following command.
SELECT *
FROM pg_available_extension_versions
WHERE name = ANY(string_to_array(current_setting('extwlist.extensions'), ','));If required, assign superuser privileges to enable their use.
Request support for a new extension by voting for an existing request or submitting a new idea.
Advanced Edition Supported Extensions
PostgreSQL Advanced Edition clusters include a limited set of extensions. Advanced Edition is in public preview, and the supported extensions below may change before general availability.
The following extensions are pre-installed on Advanced Edition clusters and don’t require the CREATE EXTENSION command: pg_repack, pg_stat_statements, pgaudit, plpgsql, and vector.
To enable an extension that isn’t pre-installed, use CREATE EXTENSION as described in Install, Upgrade, or Disable Extensions.
| Extension | Description | PostgreSQL 16 | PostgreSQL 17 | PostgreSQL 18 |
|---|---|---|---|---|
pg_repack |
Use to reorganize tables with minimal locks | Pre-installed | Pre-installed | Pre-installed |
pg_stat_statements |
Use to track planning and execution statistics of all SQL statements executed | Pre-installed | Pre-installed | Pre-installed |
pgaudit |
Provides session and object audit logging for legal or certification compliance | Pre-installed | Pre-installed | Pre-installed |
plpgsql |
PL/pgSQL procedural language | Pre-installed | Pre-installed | Pre-installed |
vector |
Type for vector similarity search | Pre-installed | Pre-installed | Pre-installed |
address_standardizer |
Use to parse an address into constituent elements and support geocoding address normalization | Available | Available | Available |
address_standardizer_data_us |
A US sample dataset for Address standardizer |
Available | Available | Available |
adminpack |
Provides support functions for remote server file and log management, used by pgAdmin | Available | Not supported | Not supported |
amcheck |
Functions for verifying relation integrity | Available | Available | Available |
autoinc |
Functions for auto-incrementing fields | Available | Available | Available |
bloom |
An index access method based on Bloom filters | Available | Available | Available |
btree_gin |
Support for indexing common data types in GIN | Available | Available | Available |
btree_gist |
Support for indexing common data types in GiST | Available | Available | Available |
citext |
A data type for case-insensitive character strings | Available | Available | Available |
cube |
A data type for multi-dimensional cubes | Available | Available | Available |
dblink |
Connect to other PostgreSQL databases | Available | Available | Available |
dict_int |
Text search dictionary template for integers | Available | Available | Available |
dict_xsyn |
Text search dictionary template for extended synonym processing | Available | Available | Available |
earthdistance |
Use to calculate distances across the surface of the Earth | Available | Available | Available |
file_fdw |
Foreign-data wrapper for flat file access | Available | Available | Available |
fuzzystrmatch |
Use to determine similarities and distance between strings | Available | Available | Available |
hstore |
A data type for sets of (key, value) pairs | Available | Available | Available |
hstore_plperl |
Transforms between hstore and plperl |
Available | Available | Available |
hstore_plperlu |
Transforms between hstore and plperlu |
Available | Available | Available |
insert_username |
Functions for tracking who changed a table | Available | Available | Available |
intagg |
Integer aggregator and enumerator (obsolete) | Available | Available | Available |
intarray |
Functions, operators, and index support for 1-D arrays of integers | Available | Available | Available |
isn |
Data types for international product-numbering standards | Available | Available | Available |
jsonb_plperl |
Transforms between jsonb and plperl |
Available | Available | Available |
jsonb_plperlu |
Transforms between jsonb and plperlu |
Available | Available | Available |
lo |
Use for large object maintenance | Available | Available | Available |
ltree |
A data type for hierarchical tree-like structures | Available | Available | Available |
moddatetime |
Functions for tracking last modification time | Available | Available | Available |
old_snapshot |
Provides functions for inspecting server state used by the old_snapshot_threshold setting |
Available | Not supported | Not supported |
pageinspect |
Inspect the contents of database pages at a low level | Available | Available | Available |
percona_pg_telemetry |
Collects anonymized PostgreSQL usage telemetry for Percona | Available | Available | Not supported |
pg_buffercache |
Use to examine the shared buffer cache | Available | Available | Available |
pg_freespacemap |
Use to examine the FSM | Available | Available | Available |
pg_logicalinspect |
Functions to inspect logical decoding components | Not supported | Not supported | Available |
pg_prewarm |
Prewarm relation data | Available | Available | Available |
pg_stat_monitor |
Use to view query origins, execution, planning statistics and details, query information, and metadata | Available | Available | Available |
pg_surgery |
Perform surgery on a damaged relation | Available | Available | Available |
pg_trgm |
Text similarity measurement and index searching based on trigrams | Available | Available | Available |
pg_visibility |
Examine the visibility map (VM) and page-level visibility info | Available | Available | Available |
pg_walinspect |
Functions to inspect contents of the write-ahead log | Available | Available | Available |
pgcrypto |
Cryptographic functions | Available | Available | Available |
pgrowlocks |
Show row-level locking information | Available | Available | Available |
pgstattuple |
Show tuple-level statistics | Available | Available | Available |
postgis |
PostGIS geometry and geography spatial types and functions | Available | Available | Available |
postgis_raster |
PostGIS raster types and functions | Available | Available | Available |
postgis_sfcgal |
PostGIS SFCGAL functions | Available | Available | Available |
postgis_tiger_geocoder |
PostGIS tiger geocoder and reverse geocoder | Available | Available | Available |
postgis_topology |
PostGIS topology spatial types and functions | Available | Available | Available |
postgres_fdw |
Foreign-data wrapper for remote servers | Available | Available | Available |
refint |
Functions for implementing referential integrity (obsolete) | Available | Available | Available |
seg |
Data type for representing line segments or floating-point intervals | Available | Available | Available |
set_user |
Similar to SET ROLE but with added logging |
Available | Available | Available |
sslinfo |
Info about SSL certificates | Available | Available | Available |
tablefunc |
Functions that manipulate entire tables, including crosstab |
Available | Available | Available |
tcn |
Triggered change notifications | Available | Available | Available |
timescaledb |
Enables scalable inserts and complex queries for time-series data | Available | Available | Available |
tsm_system_rows |
TABLESAMPLE method which accepts number of rows as a limit | Available | Available | Available |
tsm_system_time |
TABLESAMPLE method which accepts time in milliseconds as a limit | Available | Available | Available |
unaccent |
Text search dictionary that removes accents | Available | Available | Available |
uuid-ossp |
Use to generate UUIDs | Available | Available | Available |
xml2 |
XPath querying and XSLT |
Available | Available | Available |