Supported PostgreSQL Extensions

Validated on 25 Nov 2025 • Last edited on 28 Jan 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:

\dx

Supported Extensions

DigitalOcean PostgreSQL managed databases supports the following extensions. This list is current as of the Validated date on this page.

You can also see a list of available extensions from the psql’s command line, use the following command:

SELECT * FROM pg_available_extensions;

Not all extensions listed in pg_available_extensions are installable. To list all installable superuser-only and untrusted extensions, 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 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 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 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 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 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
PostgreSQL 13 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
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

We can't find any results for your search.

Try using different keywords or simplifying your search terms.