For AI agents: The documentation index is at https://docs.digitalocean.com/llms.txt. Markdown versions of pages use the same URL with
index.html.mdin place of the HTML page (for example, appendindex.html.mdto the directory path instead of opening the HTML document).
Supported PostgreSQL Extensions
Last verified 25 Jun 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:
\dxStandard 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.
PostgreSQL 18 Standard Edition Extensions
| Extension Name | Description |
|---|---|
anon |
Use to mask or replace personally identifiable information or commercially sensitive data |
bloom |
An index access method based on Bloom filters |
bool_plperl |
Use to transform between bool and plperl |
btree_gin |
Support for indexing common data types in GIN |
btree_gist |
Support for indexing common data types in GiST |
citext |
A data type for case-insensitive character strings |
cube |
A data type for multi-dimensional cubes |
dblink |
Connect to other PostgreSQL databases |
dict_int |
Text search dictionary template for integers |
earthdistance |
Use to calculate distances across the surface of the Earth |
fuzzystrmatch |
Use to determine similarities and distance between strings |
hstore |
A data type for sets of (key, value) pairs |
intagg |
Integer aggregator and enumerator (obsolete) |
intarray |
Functions, operators, and index support for 1-D arrays of integers |
ip4r |
Data types and functions for IP addresses and ranges |
isn |
Data types for international product-numbering standards |
jsonb_plperl |
Transforms between jsonb and plperl |
lo |
Use for large object maintenance |
ltree |
A data type for hierarchical tree-like structures |
pg_buffercache |
Use to examine the shared buffer cache |
pg_cron |
Job scheduling tool |
pg_partman |
Use to manage partitioned tables by time or ID |
pg_prewarm |
Prewarm relation data |
pg_repack |
Use to reorganize tables with minimal locks |
pg_stat_monitor |
Use to view query origins, execution, planning statistics and details, query information, and metadata |
pg_trgm |
Text similarity measurement and index searching based on trigrams |
pgaudit |
Provides session and object audit logging for legal or certification compliance |
pgcrypto |
Cryptographic functions |
pgrowlocks |
Show row-level locking information |
pgstattuple |
Show tuple-level statistics |
plperl |
PL/Perl procedural language |
plpgsql |
PL/pgSQL procedural language |
postgres_fdw |
Foreign-data wrapper for remote servers |
seg |
Data type for representing line segments or floating-point intervals |
sslinfo |
Info about SSL certificates |
tablefunc |
Functions that manipulate entire tables, including crosstab |
tcn |
Triggered change notifications |
tsm_system_rows |
TABLESAMPLE method which accepts number of rows as a limit |
tsm_system_time |
TABLESAMPLE method which accepts time in milliseconds as a limit |
unaccent |
Text search dictionary that removes accents |
unit |
SI units |
uuid-ossp |
Use to generate UUIDs |
vector |
Type for vector similarity search |
vectorscale |
Type for vector similarity search |
PostgreSQL 17 Standard Edition Extensions
| Extension Name | Description |
|---|---|
address_standardizer |
Use to parse an address into constituent elements and support geocoding address normalization |
address_standardizer_data_us |
A US sample dataset for Address standardizer |
anon |
Use to mask or replace personally identifiable information or commercially sensitive data |
bloom |
An index access method based on Bloom filters |
bool_plperl |
Use to transform between bool and plperl |
btree_gin |
Support for indexing common data types in GIN |
btree_gist |
Support for indexing common data types in GiST |
citext |
A data type for case-insensitive character strings |
cube |
A data type for multi-dimensional cubes |
dblink |
Connect to other PostgreSQL databases |
dict_int |
Text search dictionary template for integers |
earthdistance |
Use to calculate distances across the surface of the Earth |
fuzzystrmatch |
Use to determine similarities and distance between strings |
h3 |
Bindings for H3, a hierarchical hexagonal geospatial indexing system |
h3_postgis |
Integration for H3 PostGIS |
hll |
A data type for HyperLogLog data |
hstore |
A data type for sets of (key, value) pairs |
intagg |
Integer aggregator and enumerator (obsolete) |
intarray |
Functions, operators, and index support for 1-D arrays of integers |
ip4r |
Data types and functions for IP addresses and ranges |
isn |
Data types for international product-numbering standards |
jsonb_plperl |
Transforms between jsonb and plperl |
lo |
Use for large object maintenance |
ltree |
A data type for hierarchical tree-like structures |
pg_buffercache |
Use to examine the shared buffer cache |
pg_cron |
Job scheduling tool |
pg_partman |
Use to manage partitioned tables by time or ID |
pg_prewarm |
Prewarm relation data |
pg_repack |
Use to reorganize tables with minimal locks |
pg_similarity |
Support similarity queries |
pg_stat_monitor |
Use to view query origins, execution, planning statistics and details, query information, and metadata |
pg_stat_statements |
Use to track planning and execution statistics of all SQL statements executed |
pg_trgm |
Text similarity measurement and index searching based on trigrams |
pgaudit |
Provides session and object audit logging for legal or certification compliance |
pgcrypto |
Cryptographic functions |
pgrouting |
Provide geospatial routing and other network analysis functionality |
pgrowlocks |
Show row-level locking information |
pgstattuple |
Show tuple-level statistics |
plperl |
PL/Perl procedural language |
plpgsql |
PL/pgSQL procedural language |
postgis |
PostGIS geometry and geography spatial types and functions |
postgis_raster |
PostGIS raster types and functions |
postgis_sfcgal |
PostGIS SFCGAL functions |
postgis_tiger_geocoder |
PostGIS tiger geocoder and reverse geocoder |
postgis_topology |
PostGIS topology spatial types and functions |
postgres_fdw |
Foreign-data wrapper for remote servers |
rum |
RUM index access method |
seg |
Data type for representing line segments or floating-point intervals |
sslinfo |
Info about SSL certificates |
tablefunc |
Functions that manipulate entire tables, including crosstab |
tcn |
Triggered change notifications |
timescaledb |
Enables scalable inserts and complex queries for time-series data |
tsm_system_rows |
TABLESAMPLE method which accepts number of rows as a limit |
tsm_system_time |
TABLESAMPLE method which accepts time in milliseconds as a limit |
unaccent |
Text search dictionary that removes accents |
unit |
SI units |
uuid-ossp |
Use to generate UUIDs |
vector |
Type for vector similarity search |
vectorscale |
Type for vector similarity search |
PostgreSQL 16 Standard Edition Extensions
| Extension Name | Description |
|---|---|
address_standardizer |
Use to parse an address into constituent elements and support geocoding address normalization |
address_standardizer_data_us |
A US sample dataset for Address standardizer |
anon |
Use to mask or replace personally identifiable information or commercially sensitive data |
bloom |
An index access method based on Bloom filters |
bool_plperl |
Use to transform between bool and plperl |
btree_gin |
Support for indexing common data types in GIN |
btree_gist |
Support for indexing common data types in GiST |
citext |
A data type for case-insensitive character strings |
cube |
A data type for multi-dimensional cubes |
dblink |
Connect to other PostgreSQL databases |
dict_int |
Text search dictionary template for integers |
earthdistance |
Use to calculate distances across the surface of the Earth |
fuzzystrmatch |
Use to determine similarities and distance between strings |
h3 |
Bindings for H3, a hierarchical hexagonal geospatial indexing system |
h3_postgis |
Integration for H3 PostGIS |
hll |
A data type for HyperLogLog data |
hstore |
A data type for sets of (key, value) pairs |
intagg |
Integer aggregator and enumerator (obsolete) |
intarray |
Functions, operators, and index support for 1-D arrays of integers |
ip4r |
Data types and functions for IP addresses and ranges |
isn |
Data types for international product-numbering standards |
jsonb_plperl |
Transforms between jsonb and plperl |
lo |
Use for large object maintenance |
ltree |
A data type for hierarchical tree-like structures |
pg_buffercache |
Use to examine the shared buffer cache |
pg_cron |
Job scheduling tool |
pg_partman |
Use to manage partitioned tables by time or ID |
pg_prewarm |
Prewarm relation data |
pg_repack |
Use to reorganize tables with minimal locks |
pg_similarity |
Support similarity queries |
pg_stat_monitor |
Use to view query origins, execution, planning statistics and details, query information, and metadata |
pg_stat_statements |
Use to track planning and execution statistics of all SQL statements executed |
pg_trgm |
Text similarity measurement and index searching based on trigrams |
pgaudit |
Provides session and object audit logging for legal or certification compliance |
pgcrypto |
Cryptographic functions |
pgrouting |
Provide geospatial routing and other network analysis functionality |
pgrowlocks |
Show row-level locking information |
pgstattuple |
Show tuple-level statistics |
plperl |
PL/Perl procedural language |
plpgsql |
PL/pgSQL procedural language |
postgis |
PostGIS geometry and geography spatial types and functions |
postgis_raster |
PostGIS raster types and functions |
postgis_sfcgal |
PostGIS SFCGAL functions |
postgis_tiger_geocoder |
PostGIS tiger geocoder and reverse geocoder |
postgis_topology |
PostGIS topology spatial types and functions |
postgres_fdw |
Foreign-data wrapper for remote servers |
rum |
RUM index access method |
seg |
Data type for representing line segments or floating-point intervals |
sslinfo |
Info about SSL certificates |
tablefunc |
Functions that manipulate entire tables, including crosstab |
tcn |
Triggered change notifications |
timescaledb |
Enables scalable inserts and complex queries for time-series data |
tsm_system_rows |
TABLESAMPLE method which accepts number of rows as a limit |
tsm_system_time |
TABLESAMPLE method which accepts time in milliseconds as a limit |
unaccent |
Text search dictionary that removes accents |
unit |
SI units |
uuid-ossp |
Use to generate UUIDs |
vector |
Type for vector similarity search |
vectorscale |
Type for vector similarity search |
PostgreSQL 15 Standard Edition Extensions
| Extension Name | Description |
|---|---|
address_standardizer |
Use to parse an address into constituent elements and support geocoding address normalization |
address_standardizer_data_us |
A US sample dataset for Address standardizer |
anon |
Use to mask or replace personally identifiable information or commercially sensitive data |
bloom |
An index access method based on Bloom filters |
bool_plperl |
Use to transform between bool and plperl |
btree_gin |
Support for indexing common data types in GIN |
btree_gist |
Support for indexing common data types in GiST |
citext |
A data type for case-insensitive character strings |
cube |
A data type for multi-dimensional cubes |
dblink |
Connect to other PostgreSQL databases |
dict_int |
Text search dictionary template for integers |
earthdistance |
Use to calculate distances across the surface of the Earth |
fuzzystrmatch |
Use to determine similarities and distance between strings |
h3 |
Bindings for H3, a hierarchical hexagonal geospatial indexing system |
h3_postgis |
Integration for H3 PostGIS |
hll |
A data type for HyperLogLog data |
hstore |
A data type for sets of (key, value) pairs |
intagg |
Integer aggregator and enumerator (obsolete) |
intarray |
Functions, operators, and index support for 1-D arrays of integers |
ip4r |
Data types and functions for IP addresses and ranges |
isn |
Data types for international product-numbering standards |
jsonb_plperl |
Transforms between jsonb and plperl |
lo |
Use for large object maintenance |
ltree |
A data type for hierarchical tree-like structures |
pg_buffercache |
Use to examine the shared buffer cache |
pg_cron |
Job scheduling tool |
pg_partman |
Use to manage partitioned tables by time or ID |
pg_prewarm |
Prewarm relation data |
pg_repack |
Use to reorganize tables with minimal locks |
pg_similarity |
Support similarity queries |
pg_stat_monitor |
Use to view query origins, execution, planning statistics and details, query information, and metadata |
pg_stat_statements |
Use to track planning and execution statistics of all SQL statements executed |
pg_trgm |
Text similarity measurement and index searching based on trigrams |
pgaudit |
Provides session and object audit logging for legal or certification compliance |
pgcrypto |
Cryptographic functions |
pgrouting |
Provide geospatial routing and other network analysis functionality |
pgrowlocks |
Show row-level locking information |
pgstattuple |
Show tuple-level statistics |
plperl |
PL/Perl procedural language |
plpgsql |
PL/pgSQL procedural language |
postgis |
PostGIS geometry and geography spatial types and functions |
postgis_legacy |
Legacy functions for PostGIS |
postgis_raster |
PostGIS raster types and functions |
postgis_sfcgal |
PostGIS SFCGAL functions |
postgis_tiger_geocoder |
PostGIS tiger geocoder and reverse geocoder |
postgis_topology |
PostGIS topology spatial types and functions |
postgres_fdw |
Foreign-data wrapper for remote servers |
rum |
RUM index access method |
seg |
Data type for representing line segments or floating-point intervals |
sslinfo |
Info about SSL certificates |
tablefunc |
Functions that manipulate entire tables, including crosstab |
tcn |
Triggered change notifications |
timescaledb |
Enables scalable inserts and complex queries for time-series data |
tsm_system_rows |
TABLESAMPLE method which accepts number of rows as a limit |
tsm_system_time |
TABLESAMPLE method which accepts time in milliseconds as a limit |
unaccent |
Text search dictionary that removes accents |
unit |
SI units |
uuid-ossp |
Use to generate UUIDs |
vector |
Type for vector similarity search |
PostgreSQL 14 Standard Edition Extensions
| Extension Name | Description |
|---|---|
address_standardizer |
Use to parse an address into constituent elements and support geocoding address normalization |
address_standardizer_data_us |
A US sample dataset for Address standardizer |
bloom |
An index access method based on Bloom filters |
bool_plperl |
Use to transform between bool and plperl |
btree_gin |
Support for indexing common data types in GIN |
btree_gist |
Support for indexing common data types in GiST |
citext |
A data type for case-insensitive character strings |
cube |
A data type for multi-dimensional cubes |
dblink |
Connect to other PostgreSQL databases |
dict_int |
Text search dictionary template for integers |
earthdistance |
Use to calculate distances across the surface of the Earth |
fuzzystrmatch |
Use to determine similarities and distance between strings |
h3 |
Bindings for H3, a hierarchical hexagonal geospatial indexing system |
h3_postgis |
Integration for H3 PostGIS |
hll |
A data type for HyperLogLog data |
hstore |
A data type for sets of (key, value) pairs |
intagg |
Integer aggregator and enumerator (obsolete) |
intarray |
Functions, operators, and index support for 1-D arrays of integers |
ip4r |
Data types and functions for IP addresses and ranges |
isn |
Data types for international product-numbering standards |
jsonb_plperl |
Transforms between jsonb and plperl |
lo |
Use for large object maintenance |
ltree |
A data type for hierarchical tree-like structures |
pg_buffercache |
Use to examine the shared buffer cache |
pg_cron |
Job scheduling tool |
pg_partman |
Use to manage partitioned tables by time or ID |
pg_prewarm |
Prewarm relation data |
pg_repack |
Use to reorganize tables with minimal locks |
pg_similarity |
Support similarity queries |
pg_stat_monitor |
Use to view query origins, execution, planning statistics and details, query information, and metadata |
pg_stat_statements |
Use to track planning and execution statistics of all SQL statements executed |
pg_trgm |
Text similarity measurement and index searching based on trigrams |
pgaudit |
Provides session and object audit logging for legal or certification compliance |
pgcrypto |
Cryptographic functions |
pgrouting |
Provide geospatial routing and other network analysis functionality |
pgrowlocks |
Show row-level locking information |
pgstattuple |
Show tuple-level statistics |
plperl |
PL/Perl procedural language |
plpgsql |
PL/pgSQL procedural language |
postgis |
PostGIS geometry and geography spatial types and functions |
postgis_legacy |
Legacy functions for PostGIS |
postgis_raster |
PostGIS raster types and functions |
postgis_sfcgal |
PostGIS SFCGAL functions |
postgis_tiger_geocoder |
PostGIS tiger geocoder and reverse geocoder |
postgis_topology |
PostGIS topology spatial types and functions |
postgres_fdw |
Foreign-data wrapper for remote servers |
rum |
RUM index access method |
seg |
Data type for representing line segments or floating-point intervals |
sslinfo |
Info about SSL certificates |
tablefunc |
Functions that manipulate entire tables, including crosstab |
tcn |
Triggered change notifications |
timescaledb |
Enables scalable inserts and complex queries for time-series data |
tsm_system_rows |
TABLESAMPLE method which accepts number of rows as a limit |
tsm_system_time |
TABLESAMPLE method which accepts time in milliseconds as a limit |
unaccent |
Text search dictionary that removes accents |
unit |
SI units |
uuid-ossp |
Use to generate UUIDs |
vector |
Type for vector similarity search |
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.
To enable an extension in your database, use CREATE EXTENSION as described in Install, Upgrade, or Disable Extensions.
PostgreSQL 18 Advanced Edition Extensions
| Extension Name | Description |
|---|---|
address_standardizer |
Use to parse an address into constituent elements and support geocoding address normalization |
address_standardizer_data_us |
A US sample dataset for Address standardizer |
amcheck |
Functions for verifying relation integrity |
autoinc |
Functions for auto-incrementing fields |
bloom |
An index access method based on Bloom filters |
btree_gin |
Support for indexing common data types in GIN |
btree_gist |
Support for indexing common data types in GiST |
citext |
A data type for case-insensitive character strings |
cube |
A data type for multi-dimensional cubes |
dblink |
Connect to other PostgreSQL databases |
dict_int |
Text search dictionary template for integers |
dict_xsyn |
Text search dictionary template for extended synonym processing |
earthdistance |
Use to calculate distances across the surface of the Earth |
file_fdw |
Foreign-data wrapper for flat file access |
fuzzystrmatch |
Use to determine similarities and distance between strings |
hstore |
A data type for sets of (key, value) pairs |
hstore_plperl |
Transforms between hstore and plperl |
hstore_plperlu |
Transforms between hstore and plperlu |
insert_username |
Functions for tracking who changed a table |
intagg |
Integer aggregator and enumerator (obsolete) |
intarray |
Functions, operators, and index support for 1-D arrays of integers |
isn |
Data types for international product-numbering standards |
jsonb_plperl |
Transforms between jsonb and plperl |
jsonb_plperlu |
Transforms between jsonb and plperlu |
lo |
Use for large object maintenance |
ltree |
A data type for hierarchical tree-like structures |
moddatetime |
Functions for tracking last modification time |
pageinspect |
Inspect the contents of database pages at a low level |
pg_buffercache |
Use to examine the shared buffer cache |
pg_freespacemap |
Use to examine the FSM |
pg_logicalinspect |
Functions to inspect logical decoding components |
pg_prewarm |
Prewarm relation data |
pg_repack |
Use to reorganize tables with minimal locks |
pg_stat_monitor |
Use to view query origins, execution, planning statistics and details, query information, and metadata |
pg_stat_statements |
Use to track planning and execution statistics of all SQL statements executed |
pg_surgery |
Perform surgery on a damaged relation |
pg_trgm |
Text similarity measurement and index searching based on trigrams |
pg_visibility |
Examine the visibility map (VM) and page-level visibility info |
pg_walinspect |
Functions to inspect contents of the write-ahead log |
pgaudit |
Provides session and object audit logging for legal or certification compliance |
pgcrypto |
Cryptographic functions |
pgrowlocks |
Show row-level locking information |
pgstattuple |
Show tuple-level statistics |
plpgsql |
PL/pgSQL procedural language |
postgis |
PostGIS geometry and geography spatial types and functions |
postgis_raster |
PostGIS raster types and functions |
postgis_sfcgal |
PostGIS SFCGAL functions |
postgis_tiger_geocoder |
PostGIS tiger geocoder and reverse geocoder |
postgis_topology |
PostGIS topology spatial types and functions |
postgres_fdw |
Foreign-data wrapper for remote servers |
refint |
Functions for implementing referential integrity (obsolete) |
seg |
Data type for representing line segments or floating-point intervals |
set_user |
Similar to SET ROLE but with added logging |
sslinfo |
Info about SSL certificates |
tablefunc |
Functions that manipulate entire tables, including crosstab |
tcn |
Triggered change notifications |
timescaledb |
Enables scalable inserts and complex queries for time-series data |
tsm_system_rows |
TABLESAMPLE method which accepts number of rows as a limit |
tsm_system_time |
TABLESAMPLE method which accepts time in milliseconds as a limit |
unaccent |
Text search dictionary that removes accents |
uuid-ossp |
Use to generate UUIDs |
vector |
Type for vector similarity search |
xml2 |
XPath querying and XSLT |