# Supported PostgreSQL Extensions 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](https://www.postgresql.org/docs/current/extend-extensions.html), which are bundled packages of SQL objects. ## Install, Upgrade, or Disable Extensions You can install supported extensions with [psql’s `CREATE EXTENSION` command](https://www.postgresql.org/docs/current/sql-createextension.html): ``` CREATE EXTENSION ; ``` You can upgrade extensions to their latest version with [psql’s `ALTER EXTENSION` command](https://www.postgresql.org/docs/current/sql-alterextension.html): ``` ALTER EXTENSION UPDATE; ``` You can disable extensions with [psql’s `DROP EXTENSION` command](https://www.postgresql.org/docs/current/sql-dropextension.html): ``` DROP EXTENSION ; ``` 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. ```bash SELECT * FROM pg_available_extension_versions WHERE name = ANY(string_to_array(current_setting('extwlist.extensions'), ',')); ``` If required, [assign superuser privileges](https://www.postgresql.org/docs/9.1/sql-alterrole.html) to enable their use. Request support for a new extension by [voting for an existing request or submitting a new idea](https://ideas.digitalocean.com/managed-database). ## PostgreSQL 18 Extensions | Extension Name | Description | |---|---| | [`anon`](https://postgresql-anonymizer.readthedocs.io/en/stable/) | Use to mask or replace personally identifiable information or commercially sensitive data | | [`bloom`](https://www.postgresql.org/docs/current/bloom.html) | An index access method based on Bloom filters | | [`bool_plperl`](https://www.postgresql.org/docs/current/plperl-funcs.html) | Use to transform between `bool` and `plperl` | | [`btree_gin`](https://www.postgresql.org/docs/current/btree-gin.html) | Support for indexing common data types in GIN | | [`btree_gist`](https://www.postgresql.org/docs/current/btree-gist.html) | Support for indexing common data types in GiST | | [`citext`](https://www.postgresql.org/docs/current/citext.html) | A data type for case-insensitive character strings | | [`cube`](https://www.postgresql.org/docs/current/cube.html) | A data type for multi-dimensional cubes | | [`dblink`](https://www.postgresql.org/docs/current/contrib-dblink-function.html) | Connect to other PostgreSQL databases | | [`dict_int`](https://www.postgresql.org/docs/current/dict-int.html) | Text search dictionary template for integers | | [`earthdistance`](https://www.postgresql.org/docs/current/earthdistance.html) | Use to calculate distances across the surface of the Earth | | [`fuzzystrmatch`](https://www.postgresql.org/docs/current/fuzzystrmatch.html) | Use to determine similarities and distance between strings | | [`hstore`](https://www.postgresql.org/docs/current/hstore.html) | A data type for sets of (key, value) pairs | | [`intagg`](https://www.postgresql.org/docs/current/intagg.html) | Integer aggregator and enumerator (obsolete) | | [`intarray`](https://www.postgresql.org/docs/current/intarray.html) | Functions, operators, and index support for 1-D arrays of integers | | [`ip4r`](https://github.com/RhodiumToad/ip4r) | Data types and functions for IP addresses and ranges | | [`isn`](https://www.postgresql.org/docs/current/isn.html) | Data types for international product-numbering standards | | [`jsonb_plperl`](https://www.postgresql.org/docs/current/datatype-json.html) | Transforms between `jsonb` and `plperl` | | [`lo`](https://www.postgresql.org/docs/current/lo.html) | Use for large object maintenance | | [`ltree`](https://www.postgresql.org/docs/current/ltree.html) | A data type for hierarchical tree-like structures | | [`pg_buffercache`](https://www.postgresql.org/docs/current/pgbuffercache.html) | Use to examine the shared buffer cache | | [`pg_cron`](https://github.com/citusdata/pg_cron) | Job scheduling tool | | [`pg_partman`](https://github.com/pgpartman/pg_partman) | Use to manage partitioned tables by time or ID | | [`pg_prewarm`](https://www.postgresql.org/docs/current/pgprewarm.html) | Prewarm relation data | | [`pg_repack`](https://pgxn.org/dist/pg_repack/1.4.6/) | Use to reorganize tables with minimal locks | | [`pg_stat_monitor`](https://github.com/percona/pg_stat_monitor) | Use to view query origins, execution, planning statistics and details, query information, and metadata | | [`pg_trgm`](https://www.postgresql.org/docs/current/pgtrgm.html) | Text similarity measurement and index searching based on trigrams | | [`pgaudit`](https://github.com/pgaudit/pgaudit) | Provides session and object audit logging for legal or certification compliance | | [`pgcrypto`](https://www.postgresql.org/docs/current/pgcrypto.html) | Cryptographic functions | | [`pgrowlocks`](https://www.postgresql.org/docs/current/pgrowlocks.html) | Show row-level locking information | | [`pgstattuple`](https://www.postgresql.org/docs/current/pgstattuple.html) | Show tuple-level statistics | | [`plperl`](https://www.postgresql.org/docs/current/plperl.html) | PL/Perl procedural language | | [`plpgsql`](https://www.postgresql.org/docs/current/plpgsql.html) | PL/pgSQL procedural language | | [`postgres_fdw`](https://www.postgresql.org/docs/current/postgres-fdw.html) | Foreign-data wrapper for remote servers | | [`seg`](https://www.postgresql.org/docs/current/seg.html) | Data type for representing line segments or floating-point intervals | | [`sslinfo`](https://www.postgresql.org/docs/current/sslinfo.html) | Info about SSL certificates | | [`tablefunc`](https://www.postgresql.org/docs/current/tablefunc.html) | Functions that manipulate entire tables, including `crosstab` | | [`tcn`](https://www.postgresql.org/docs/current/tcn.html) | Triggered change notifications | | [`tsm_system_rows`](https://www.postgresql.org/docs/current/tsm-system-rows.html) | TABLESAMPLE method which accepts number of rows as a limit | | [`tsm_system_time`](https://www.postgresql.org/docs/current/tsm-system-time.html) | TABLESAMPLE method which accepts time in milliseconds as a limit | | [`unaccent`](https://www.postgresql.org/docs/current/unaccent.html) | Text search dictionary that removes accents | | [`unit`](https://github.com/df7cb/postgresql-unit) | SI units | | [`uuid-ossp`](https://www.postgresql.org/docs/current/uuid-ossp.html) | Use to generate UUIDs | | [`vector`](https://github.com/pgvector/pgvector) | Type for vector similarity search | | [`vectorscale`](https://github.com/timescale/pgvectorscale) | Type for vector similarity search | ## PostgreSQL 17 Extensions | Extension Name | Description | |---|---| | [`address_standardizer`](https://postgis.net/docs/standardize_address.html) | Use to parse an address into constituent elements and support geocoding address normalization | | [`address_standardizer_data_us`](https://postgis.net/docs/standardize_address.html) | A US sample dataset for `Address standardizer` | | [`anon`](https://postgresql-anonymizer.readthedocs.io/en/stable/) | Use to mask or replace personally identifiable information or commercially sensitive data | | [`bloom`](https://www.postgresql.org/docs/current/bloom.html) | An index access method based on Bloom filters | | [`bool_plperl`](https://www.postgresql.org/docs/current/plperl-funcs.html) | Use to transform between `bool` and `plperl` | | [`btree_gin`](https://www.postgresql.org/docs/current/btree-gin.html) | Support for indexing common data types in GIN | | [`btree_gist`](https://www.postgresql.org/docs/current/btree-gist.html) | Support for indexing common data types in GiST | | [`citext`](https://www.postgresql.org/docs/current/citext.html) | A data type for case-insensitive character strings | | [`cube`](https://www.postgresql.org/docs/current/cube.html) | A data type for multi-dimensional cubes | | [`dblink`](https://www.postgresql.org/docs/current/contrib-dblink-function.html) | Connect to other PostgreSQL databases | | [`dict_int`](https://www.postgresql.org/docs/current/dict-int.html) | Text search dictionary template for integers | | [`earthdistance`](https://www.postgresql.org/docs/current/earthdistance.html) | Use to calculate distances across the surface of the Earth | | [`fuzzystrmatch`](https://www.postgresql.org/docs/current/fuzzystrmatch.html) | Use to determine similarities and distance between strings | | [`h3`](https://github.com/zachasme/h3-pg) | Bindings for H3, a hierarchical hexagonal geospatial indexing system | | [`h3_postgis`](https://github.com/zachasme/h3-pg) | Integration for H3 PostGIS | | [`hll`](https://github.com/citusdata/postgresql-hll) | A data type for HyperLogLog data | | [`hstore`](https://www.postgresql.org/docs/current/hstore.html) | A data type for sets of (key, value) pairs | | [`intagg`](https://www.postgresql.org/docs/current/intagg.html) | Integer aggregator and enumerator (obsolete) | | [`intarray`](https://www.postgresql.org/docs/current/intarray.html) | Functions, operators, and index support for 1-D arrays of integers | | [`ip4r`](https://github.com/RhodiumToad/ip4r) | Data types and functions for IP addresses and ranges | | [`isn`](https://www.postgresql.org/docs/current/isn.html) | Data types for international product-numbering standards | | [`jsonb_plperl`](https://www.postgresql.org/docs/current/datatype-json.html) | Transforms between `jsonb` and `plperl` | | [`lo`](https://www.postgresql.org/docs/current/lo.html) | Use for large object maintenance | | [`ltree`](https://www.postgresql.org/docs/current/ltree.html) | A data type for hierarchical tree-like structures | | [`pg_buffercache`](https://www.postgresql.org/docs/current/pgbuffercache.html) | Use to examine the shared buffer cache | | [`pg_cron`](https://github.com/citusdata/pg_cron) | Job scheduling tool | | [`pg_partman`](https://github.com/pgpartman/pg_partman) | Use to manage partitioned tables by time or ID | | [`pg_prewarm`](https://www.postgresql.org/docs/current/pgprewarm.html) | Prewarm relation data | | [`pg_repack`](https://pgxn.org/dist/pg_repack/1.4.6/) | Use to reorganize tables with minimal locks | | [`pg_similarity`](https://github.com/eulerto/pg_similarity) | Support similarity queries | | [`pg_stat_monitor`](https://github.com/percona/pg_stat_monitor) | Use to view query origins, execution, planning statistics and details, query information, and metadata | | [`pg_stat_statements`](https://www.postgresql.org/docs/current/pgstatstatements.html) | Use to track planning and execution statistics of all SQL statements executed | | [`pg_trgm`](https://www.postgresql.org/docs/current/pgtrgm.html) | Text similarity measurement and index searching based on trigrams | | [`pgaudit`](https://github.com/pgaudit/pgaudit) | Provides session and object audit logging for legal or certification compliance | | [`pgcrypto`](https://www.postgresql.org/docs/current/pgcrypto.html) | Cryptographic functions | | [`pgrouting`](https://github.com/pgRouting/pgrouting) | Provide geospatial routing and other network analysis functionality | | [`pgrowlocks`](https://www.postgresql.org/docs/current/pgrowlocks.html) | Show row-level locking information | | [`pgstattuple`](https://www.postgresql.org/docs/current/pgstattuple.html) | Show tuple-level statistics | | [`plperl`](https://www.postgresql.org/docs/current/plperl.html) | PL/Perl procedural language | | [`plpgsql`](https://www.postgresql.org/docs/current/plpgsql.html) | PL/pgSQL procedural language | | [`postgis`](https://postgis.net/) | PostGIS geometry and geography spatial types and functions | | [`postgis_raster`](https://postgis.net/docs/RT_reference.html) | PostGIS raster types and functions | | [`postgis_sfcgal`](http://postgis.net/docs/reference.html#reference_sfcgal) | PostGIS SFCGAL functions | | [`postgis_tiger_geocoder`](https://postgis.net/docs/Extras.html#Tiger_Geocoder) | PostGIS tiger geocoder and reverse geocoder | | [`postgis_topology`](https://postgis.net/docs/Topology.html) | PostGIS topology spatial types and functions | | [`postgres_fdw`](https://www.postgresql.org/docs/current/postgres-fdw.html) | Foreign-data wrapper for remote servers | | [`rum`](https://github.com/postgrespro/rum) | RUM index access method | | [`seg`](https://www.postgresql.org/docs/current/seg.html) | Data type for representing line segments or floating-point intervals | | [`sslinfo`](https://www.postgresql.org/docs/current/sslinfo.html) | Info about SSL certificates | | [`tablefunc`](https://www.postgresql.org/docs/current/tablefunc.html) | Functions that manipulate entire tables, including `crosstab` | | [`tcn`](https://www.postgresql.org/docs/current/tcn.html) | Triggered change notifications | | [`timescaledb`](https://github.com/timescale/timescaledb) | Enables scalable inserts and complex queries for time-series data | | [`tsm_system_rows`](https://www.postgresql.org/docs/current/tsm-system-rows.html) | TABLESAMPLE method which accepts number of rows as a limit | | [`tsm_system_time`](https://www.postgresql.org/docs/current/tsm-system-time.html) | TABLESAMPLE method which accepts time in milliseconds as a limit | | [`unaccent`](https://www.postgresql.org/docs/current/unaccent.html) | Text search dictionary that removes accents | | [`unit`](https://github.com/df7cb/postgresql-unit) | SI units | | [`uuid-ossp`](https://www.postgresql.org/docs/current/uuid-ossp.html) | Use to generate UUIDs | | [`vector`](https://github.com/pgvector/pgvector) | Type for vector similarity search | | [`vectorscale`](https://github.com/timescale/pgvectorscale) | Type for vector similarity search | ## PostgreSQL 16 Extensions | Extension Name | Description | |---|---| | [`address_standardizer`](https://postgis.net/docs/standardize_address.html) | Use to parse an address into constituent elements and support geocoding address normalization | | [`address_standardizer_data_us`](https://postgis.net/docs/standardize_address.html) | A US sample dataset for `Address standardizer` | | [`anon`](https://postgresql-anonymizer.readthedocs.io/en/stable/) | Use to mask or replace personally identifiable information or commercially sensitive data | | [`bloom`](https://www.postgresql.org/docs/current/bloom.html) | An index access method based on Bloom filters | | [`bool_plperl`](https://www.postgresql.org/docs/current/plperl-funcs.html) | Use to transform between `bool` and `plperl` | | [`btree_gin`](https://www.postgresql.org/docs/current/btree-gin.html) | Support for indexing common data types in GIN | | [`btree_gist`](https://www.postgresql.org/docs/current/btree-gist.html) | Support for indexing common data types in GiST | | [`citext`](https://www.postgresql.org/docs/current/citext.html) | A data type for case-insensitive character strings | | [`cube`](https://www.postgresql.org/docs/current/cube.html) | A data type for multi-dimensional cubes | | [`dblink`](https://www.postgresql.org/docs/current/contrib-dblink-function.html) | Connect to other PostgreSQL databases | | [`dict_int`](https://www.postgresql.org/docs/current/dict-int.html) | Text search dictionary template for integers | | [`earthdistance`](https://www.postgresql.org/docs/current/earthdistance.html) | Use to calculate distances across the surface of the Earth | | [`fuzzystrmatch`](https://www.postgresql.org/docs/current/fuzzystrmatch.html) | Use to determine similarities and distance between strings | | [`h3`](https://github.com/zachasme/h3-pg) | Bindings for H3, a hierarchical hexagonal geospatial indexing system | | [`h3_postgis`](https://github.com/zachasme/h3-pg) | Integration for H3 PostGIS | | [`hll`](https://github.com/citusdata/postgresql-hll) | A data type for HyperLogLog data | | [`hstore`](https://www.postgresql.org/docs/current/hstore.html) | A data type for sets of (key, value) pairs | | [`intagg`](https://www.postgresql.org/docs/current/intagg.html) | Integer aggregator and enumerator (obsolete) | | [`intarray`](https://www.postgresql.org/docs/current/intarray.html) | Functions, operators, and index support for 1-D arrays of integers | | [`ip4r`](https://github.com/RhodiumToad/ip4r) | Data types and functions for IP addresses and ranges | | [`isn`](https://www.postgresql.org/docs/current/isn.html) | Data types for international product-numbering standards | | [`jsonb_plperl`](https://www.postgresql.org/docs/current/datatype-json.html) | Transforms between `jsonb` and `plperl` | | [`lo`](https://www.postgresql.org/docs/current/lo.html) | Use for large object maintenance | | [`ltree`](https://www.postgresql.org/docs/current/ltree.html) | A data type for hierarchical tree-like structures | | [`pg_buffercache`](https://www.postgresql.org/docs/current/pgbuffercache.html) | Use to examine the shared buffer cache | | [`pg_cron`](https://github.com/citusdata/pg_cron) | Job scheduling tool | | [`pg_partman`](https://github.com/pgpartman/pg_partman) | Use to manage partitioned tables by time or ID | | [`pg_prewarm`](https://www.postgresql.org/docs/current/pgprewarm.html) | Prewarm relation data | | [`pg_repack`](https://pgxn.org/dist/pg_repack/1.4.6/) | Use to reorganize tables with minimal locks | | [`pg_similarity`](https://github.com/eulerto/pg_similarity) | Support similarity queries | | [`pg_stat_monitor`](https://github.com/percona/pg_stat_monitor) | Use to view query origins, execution, planning statistics and details, query information, and metadata | | [`pg_stat_statements`](https://www.postgresql.org/docs/current/pgstatstatements.html) | Use to track planning and execution statistics of all SQL statements executed | | [`pg_trgm`](https://www.postgresql.org/docs/current/pgtrgm.html) | Text similarity measurement and index searching based on trigrams | | [`pgaudit`](https://github.com/pgaudit/pgaudit) | Provides session and object audit logging for legal or certification compliance | | [`pgcrypto`](https://www.postgresql.org/docs/current/pgcrypto.html) | Cryptographic functions | | [`pgrouting`](https://github.com/pgRouting/pgrouting) | Provide geospatial routing and other network analysis functionality | | [`pgrowlocks`](https://www.postgresql.org/docs/current/pgrowlocks.html) | Show row-level locking information | | [`pgstattuple`](https://www.postgresql.org/docs/current/pgstattuple.html) | Show tuple-level statistics | | [`plperl`](https://www.postgresql.org/docs/current/plperl.html) | PL/Perl procedural language | | [`plpgsql`](https://www.postgresql.org/docs/current/plpgsql.html) | PL/pgSQL procedural language | | [`postgis`](https://postgis.net/) | PostGIS geometry and geography spatial types and functions | | [`postgis_raster`](https://postgis.net/docs/RT_reference.html) | PostGIS raster types and functions | | [`postgis_sfcgal`](http://postgis.net/docs/reference.html#reference_sfcgal) | PostGIS SFCGAL functions | | [`postgis_tiger_geocoder`](https://postgis.net/docs/Extras.html#Tiger_Geocoder) | PostGIS tiger geocoder and reverse geocoder | | [`postgis_topology`](https://postgis.net/docs/Topology.html) | PostGIS topology spatial types and functions | | [`postgres_fdw`](https://www.postgresql.org/docs/current/postgres-fdw.html) | Foreign-data wrapper for remote servers | | [`rum`](https://github.com/postgrespro/rum) | RUM index access method | | [`seg`](https://www.postgresql.org/docs/current/seg.html) | Data type for representing line segments or floating-point intervals | | [`sslinfo`](https://www.postgresql.org/docs/current/sslinfo.html) | Info about SSL certificates | | [`tablefunc`](https://www.postgresql.org/docs/current/tablefunc.html) | Functions that manipulate entire tables, including `crosstab` | | [`tcn`](https://www.postgresql.org/docs/current/tcn.html) | Triggered change notifications | | [`timescaledb`](https://github.com/timescale/timescaledb) | Enables scalable inserts and complex queries for time-series data | | [`tsm_system_rows`](https://www.postgresql.org/docs/current/tsm-system-rows.html) | TABLESAMPLE method which accepts number of rows as a limit | | [`tsm_system_time`](https://www.postgresql.org/docs/current/tsm-system-time.html) | TABLESAMPLE method which accepts time in milliseconds as a limit | | [`unaccent`](https://www.postgresql.org/docs/current/unaccent.html) | Text search dictionary that removes accents | | [`unit`](https://github.com/df7cb/postgresql-unit) | SI units | | [`uuid-ossp`](https://www.postgresql.org/docs/current/uuid-ossp.html) | Use to generate UUIDs | | [`vector`](https://github.com/pgvector/pgvector) | Type for vector similarity search | | [`vectorscale`](https://github.com/timescale/pgvectorscale) | Type for vector similarity search | ## PostgreSQL 15 Extensions | Extension Name | Description | |---|---| | [`address_standardizer`](https://postgis.net/docs/standardize_address.html) | Use to parse an address into constituent elements and support geocoding address normalization | | [`address_standardizer_data_us`](https://postgis.net/docs/standardize_address.html) | A US sample dataset for `Address standardizer` | | [`anon`](https://postgresql-anonymizer.readthedocs.io/en/stable/) | Use to mask or replace personally identifiable information or commercially sensitive data | | [`bloom`](https://www.postgresql.org/docs/current/bloom.html) | An index access method based on Bloom filters | | [`bool_plperl`](https://www.postgresql.org/docs/current/plperl-funcs.html) | Use to transform between `bool` and `plperl` | | [`btree_gin`](https://www.postgresql.org/docs/current/btree-gin.html) | Support for indexing common data types in GIN | | [`btree_gist`](https://www.postgresql.org/docs/current/btree-gist.html) | Support for indexing common data types in GiST | | [`citext`](https://www.postgresql.org/docs/current/citext.html) | A data type for case-insensitive character strings | | [`cube`](https://www.postgresql.org/docs/current/cube.html) | A data type for multi-dimensional cubes | | [`dblink`](https://www.postgresql.org/docs/current/contrib-dblink-function.html) | Connect to other PostgreSQL databases | | [`dict_int`](https://www.postgresql.org/docs/current/dict-int.html) | Text search dictionary template for integers | | [`earthdistance`](https://www.postgresql.org/docs/current/earthdistance.html) | Use to calculate distances across the surface of the Earth | | [`fuzzystrmatch`](https://www.postgresql.org/docs/current/fuzzystrmatch.html) | Use to determine similarities and distance between strings | | [`h3`](https://github.com/zachasme/h3-pg) | Bindings for H3, a hierarchical hexagonal geospatial indexing system | | [`h3_postgis`](https://github.com/zachasme/h3-pg) | Integration for H3 PostGIS | | [`hll`](https://github.com/citusdata/postgresql-hll) | A data type for HyperLogLog data | | [`hstore`](https://www.postgresql.org/docs/current/hstore.html) | A data type for sets of (key, value) pairs | | [`intagg`](https://www.postgresql.org/docs/current/intagg.html) | Integer aggregator and enumerator (obsolete) | | [`intarray`](https://www.postgresql.org/docs/current/intarray.html) | Functions, operators, and index support for 1-D arrays of integers | | [`ip4r`](https://github.com/RhodiumToad/ip4r) | Data types and functions for IP addresses and ranges | | [`isn`](https://www.postgresql.org/docs/current/isn.html) | Data types for international product-numbering standards | | [`jsonb_plperl`](https://www.postgresql.org/docs/current/datatype-json.html) | Transforms between `jsonb` and `plperl` | | [`lo`](https://www.postgresql.org/docs/current/lo.html) | Use for large object maintenance | | [`ltree`](https://www.postgresql.org/docs/current/ltree.html) | A data type for hierarchical tree-like structures | | [`pg_buffercache`](https://www.postgresql.org/docs/current/pgbuffercache.html) | Use to examine the shared buffer cache | | [`pg_cron`](https://github.com/citusdata/pg_cron) | Job scheduling tool | | [`pg_partman`](https://github.com/pgpartman/pg_partman) | Use to manage partitioned tables by time or ID | | [`pg_prewarm`](https://www.postgresql.org/docs/current/pgprewarm.html) | Prewarm relation data | | [`pg_repack`](https://pgxn.org/dist/pg_repack/1.4.6/) | Use to reorganize tables with minimal locks | | [`pg_similarity`](https://github.com/eulerto/pg_similarity) | Support similarity queries | | [`pg_stat_monitor`](https://github.com/percona/pg_stat_monitor) | Use to view query origins, execution, planning statistics and details, query information, and metadata | | [`pg_stat_statements`](https://www.postgresql.org/docs/current/pgstatstatements.html) | Use to track planning and execution statistics of all SQL statements executed | | [`pg_trgm`](https://www.postgresql.org/docs/current/pgtrgm.html) | Text similarity measurement and index searching based on trigrams | | [`pgaudit`](https://github.com/pgaudit/pgaudit) | Provides session and object audit logging for legal or certification compliance | | [`pgcrypto`](https://www.postgresql.org/docs/current/pgcrypto.html) | Cryptographic functions | | [`pgrouting`](https://github.com/pgRouting/pgrouting) | Provide geospatial routing and other network analysis functionality | | [`pgrowlocks`](https://www.postgresql.org/docs/current/pgrowlocks.html) | Show row-level locking information | | [`pgstattuple`](https://www.postgresql.org/docs/current/pgstattuple.html) | Show tuple-level statistics | | [`plperl`](https://www.postgresql.org/docs/current/plperl.html) | PL/Perl procedural language | | [`plpgsql`](https://www.postgresql.org/docs/current/plpgsql.html) | PL/pgSQL procedural language | | [`postgis`](https://postgis.net/) | PostGIS geometry and geography spatial types and functions | | [`postgis_legacy`](https://postgis.net/) | Legacy functions for PostGIS | | [`postgis_raster`](https://postgis.net/docs/RT_reference.html) | PostGIS raster types and functions | | [`postgis_sfcgal`](http://postgis.net/docs/reference.html#reference_sfcgal) | PostGIS SFCGAL functions | | [`postgis_tiger_geocoder`](https://postgis.net/docs/Extras.html#Tiger_Geocoder) | PostGIS tiger geocoder and reverse geocoder | | [`postgis_topology`](https://postgis.net/docs/Topology.html) | PostGIS topology spatial types and functions | | [`postgres_fdw`](https://www.postgresql.org/docs/current/postgres-fdw.html) | Foreign-data wrapper for remote servers | | [`rum`](https://github.com/postgrespro/rum) | RUM index access method | | [`seg`](https://www.postgresql.org/docs/current/seg.html) | Data type for representing line segments or floating-point intervals | | [`sslinfo`](https://www.postgresql.org/docs/current/sslinfo.html) | Info about SSL certificates | | [`tablefunc`](https://www.postgresql.org/docs/current/tablefunc.html) | Functions that manipulate entire tables, including `crosstab` | | [`tcn`](https://www.postgresql.org/docs/current/tcn.html) | Triggered change notifications | | [`timescaledb`](https://github.com/timescale/timescaledb) | Enables scalable inserts and complex queries for time-series data | | [`tsm_system_rows`](https://www.postgresql.org/docs/current/tsm-system-rows.html) | TABLESAMPLE method which accepts number of rows as a limit | | [`tsm_system_time`](https://www.postgresql.org/docs/current/tsm-system-time.html) | TABLESAMPLE method which accepts time in milliseconds as a limit | | [`unaccent`](https://www.postgresql.org/docs/current/unaccent.html) | Text search dictionary that removes accents | | [`unit`](https://github.com/df7cb/postgresql-unit) | SI units | | [`uuid-ossp`](https://www.postgresql.org/docs/current/uuid-ossp.html) | Use to generate UUIDs | | [`vector`](https://github.com/pgvector/pgvector) | Type for vector similarity search | ## PostgreSQL 14 Extensions | Extension Name | Description | |---|---| | [`address_standardizer`](https://postgis.net/docs/standardize_address.html) | Use to parse an address into constituent elements and support geocoding address normalization | | [`address_standardizer_data_us`](https://postgis.net/docs/standardize_address.html) | A US sample dataset for `Address standardizer` | | [`bloom`](https://www.postgresql.org/docs/current/bloom.html) | An index access method based on Bloom filters | | [`bool_plperl`](https://www.postgresql.org/docs/current/plperl-funcs.html) | Use to transform between `bool` and `plperl` | | [`btree_gin`](https://www.postgresql.org/docs/current/btree-gin.html) | Support for indexing common data types in GIN | | [`btree_gist`](https://www.postgresql.org/docs/current/btree-gist.html) | Support for indexing common data types in GiST | | [`citext`](https://www.postgresql.org/docs/current/citext.html) | A data type for case-insensitive character strings | | [`cube`](https://www.postgresql.org/docs/current/cube.html) | A data type for multi-dimensional cubes | | [`dblink`](https://www.postgresql.org/docs/current/contrib-dblink-function.html) | Connect to other PostgreSQL databases | | [`dict_int`](https://www.postgresql.org/docs/current/dict-int.html) | Text search dictionary template for integers | | [`earthdistance`](https://www.postgresql.org/docs/current/earthdistance.html) | Use to calculate distances across the surface of the Earth | | [`fuzzystrmatch`](https://www.postgresql.org/docs/current/fuzzystrmatch.html) | Use to determine similarities and distance between strings | | [`h3`](https://github.com/zachasme/h3-pg) | Bindings for H3, a hierarchical hexagonal geospatial indexing system | | [`h3_postgis`](https://github.com/zachasme/h3-pg) | Integration for H3 PostGIS | | [`hll`](https://github.com/citusdata/postgresql-hll) | A data type for HyperLogLog data | | [`hstore`](https://www.postgresql.org/docs/current/hstore.html) | A data type for sets of (key, value) pairs | | [`intagg`](https://www.postgresql.org/docs/current/intagg.html) | Integer aggregator and enumerator (obsolete) | | [`intarray`](https://www.postgresql.org/docs/current/intarray.html) | Functions, operators, and index support for 1-D arrays of integers | | [`ip4r`](https://github.com/RhodiumToad/ip4r) | Data types and functions for IP addresses and ranges | | [`isn`](https://www.postgresql.org/docs/current/isn.html) | Data types for international product-numbering standards | | [`jsonb_plperl`](https://www.postgresql.org/docs/current/datatype-json.html) | Transforms between `jsonb` and `plperl` | | [`lo`](https://www.postgresql.org/docs/current/lo.html) | Use for large object maintenance | | [`ltree`](https://www.postgresql.org/docs/current/ltree.html) | A data type for hierarchical tree-like structures | | [`pg_buffercache`](https://www.postgresql.org/docs/current/pgbuffercache.html) | Use to examine the shared buffer cache | | [`pg_cron`](https://github.com/citusdata/pg_cron) | Job scheduling tool | | [`pg_partman`](https://github.com/pgpartman/pg_partman) | Use to manage partitioned tables by time or ID | | [`pg_prewarm`](https://www.postgresql.org/docs/current/pgprewarm.html) | Prewarm relation data | | [`pg_repack`](https://pgxn.org/dist/pg_repack/1.4.6/) | Use to reorganize tables with minimal locks | | [`pg_similarity`](https://github.com/eulerto/pg_similarity) | Support similarity queries | | [`pg_stat_monitor`](https://github.com/percona/pg_stat_monitor) | Use to view query origins, execution, planning statistics and details, query information, and metadata | | [`pg_stat_statements`](https://www.postgresql.org/docs/current/pgstatstatements.html) | Use to track planning and execution statistics of all SQL statements executed | | [`pg_trgm`](https://www.postgresql.org/docs/current/pgtrgm.html) | Text similarity measurement and index searching based on trigrams | | [`pgaudit`](https://github.com/pgaudit/pgaudit) | Provides session and object audit logging for legal or certification compliance | | [`pgcrypto`](https://www.postgresql.org/docs/current/pgcrypto.html) | Cryptographic functions | | [`pgrouting`](https://github.com/pgRouting/pgrouting) | Provide geospatial routing and other network analysis functionality | | [`pgrowlocks`](https://www.postgresql.org/docs/current/pgrowlocks.html) | Show row-level locking information | | [`pgstattuple`](https://www.postgresql.org/docs/current/pgstattuple.html) | Show tuple-level statistics | | [`plperl`](https://www.postgresql.org/docs/current/plperl.html) | PL/Perl procedural language | | [`plpgsql`](https://www.postgresql.org/docs/current/plpgsql.html) | PL/pgSQL procedural language | | [`postgis`](https://postgis.net/) | PostGIS geometry and geography spatial types and functions | | [`postgis_legacy`](https://postgis.net/) | Legacy functions for PostGIS | | [`postgis_raster`](https://postgis.net/docs/RT_reference.html) | PostGIS raster types and functions | | [`postgis_sfcgal`](http://postgis.net/docs/reference.html#reference_sfcgal) | PostGIS SFCGAL functions | | [`postgis_tiger_geocoder`](https://postgis.net/docs/Extras.html#Tiger_Geocoder) | PostGIS tiger geocoder and reverse geocoder | | [`postgis_topology`](https://postgis.net/docs/Topology.html) | PostGIS topology spatial types and functions | | [`postgres_fdw`](https://www.postgresql.org/docs/current/postgres-fdw.html) | Foreign-data wrapper for remote servers | | [`rum`](https://github.com/postgrespro/rum) | RUM index access method | | [`seg`](https://www.postgresql.org/docs/current/seg.html) | Data type for representing line segments or floating-point intervals | | [`sslinfo`](https://www.postgresql.org/docs/current/sslinfo.html) | Info about SSL certificates | | [`tablefunc`](https://www.postgresql.org/docs/current/tablefunc.html) | Functions that manipulate entire tables, including `crosstab` | | [`tcn`](https://www.postgresql.org/docs/current/tcn.html) | Triggered change notifications | | [`timescaledb`](https://github.com/timescale/timescaledb) | Enables scalable inserts and complex queries for time-series data | | [`tsm_system_rows`](https://www.postgresql.org/docs/current/tsm-system-rows.html) | TABLESAMPLE method which accepts number of rows as a limit | | [`tsm_system_time`](https://www.postgresql.org/docs/current/tsm-system-time.html) | TABLESAMPLE method which accepts time in milliseconds as a limit | | [`unaccent`](https://www.postgresql.org/docs/current/unaccent.html) | Text search dictionary that removes accents | | [`unit`](https://github.com/df7cb/postgresql-unit) | SI units | | [`uuid-ossp`](https://www.postgresql.org/docs/current/uuid-ossp.html) | Use to generate UUIDs | | [`vector`](https://github.com/pgvector/pgvector) | Type for vector similarity search | ## PostgreSQL 13 Extensions | Extension Name | Description | |---|---| | [`address_standardizer`](https://postgis.net/docs/standardize_address.html) | Use to parse an address into constituent elements and support geocoding address normalization | | [`address_standardizer_data_us`](https://postgis.net/docs/standardize_address.html) | A US sample dataset for `Address standardizer` | | [`bloom`](https://www.postgresql.org/docs/current/bloom.html) | An index access method based on Bloom filters | | [`bool_plperl`](https://www.postgresql.org/docs/current/plperl-funcs.html) | Use to transform between `bool` and `plperl` | | [`btree_gin`](https://www.postgresql.org/docs/current/btree-gin.html) | Support for indexing common data types in GIN | | [`btree_gist`](https://www.postgresql.org/docs/current/btree-gist.html) | Support for indexing common data types in GiST | | [`citext`](https://www.postgresql.org/docs/current/citext.html) | A data type for case-insensitive character strings | | [`cube`](https://www.postgresql.org/docs/current/cube.html) | A data type for multi-dimensional cubes | | [`dblink`](https://www.postgresql.org/docs/current/contrib-dblink-function.html) | Connect to other PostgreSQL databases | | [`dict_int`](https://www.postgresql.org/docs/current/dict-int.html) | Text search dictionary template for integers | | [`earthdistance`](https://www.postgresql.org/docs/current/earthdistance.html) | Use to calculate distances across the surface of the Earth | | [`fuzzystrmatch`](https://www.postgresql.org/docs/current/fuzzystrmatch.html) | Use to determine similarities and distance between strings | | [`hll`](https://github.com/citusdata/postgresql-hll) | A data type for HyperLogLog data | | [`hstore`](https://www.postgresql.org/docs/current/hstore.html) | A data type for sets of (key, value) pairs | | [`intagg`](https://www.postgresql.org/docs/current/intagg.html) | Integer aggregator and enumerator (obsolete) | | [`intarray`](https://www.postgresql.org/docs/current/intarray.html) | Functions, operators, and index support for 1-D arrays of integers | | [`ip4r`](https://github.com/RhodiumToad/ip4r) | Data types and functions for IP addresses and ranges | | [`isn`](https://www.postgresql.org/docs/current/isn.html) | Data types for international product-numbering standards | | [`jsonb_plperl`](https://www.postgresql.org/docs/current/datatype-json.html) | Transforms between `jsonb` and `plperl` | | [`lo`](https://www.postgresql.org/docs/current/lo.html) | Use for large object maintenance | | [`ltree`](https://www.postgresql.org/docs/current/ltree.html) | A data type for hierarchical tree-like structures | | [`pg_buffercache`](https://www.postgresql.org/docs/current/pgbuffercache.html) | Use to examine the shared buffer cache | | [`pg_cron`](https://github.com/citusdata/pg_cron) | Job scheduling tool | | [`pg_partman`](https://github.com/pgpartman/pg_partman) | Use to manage partitioned tables by time or ID | | [`pg_prewarm`](https://www.postgresql.org/docs/current/pgprewarm.html) | Prewarm relation data | | [`pg_repack`](https://pgxn.org/dist/pg_repack/1.4.6/) | Use to reorganize tables with minimal locks | | [`pg_similarity`](https://github.com/eulerto/pg_similarity) | Support similarity queries | | [`pg_stat_monitor`](https://github.com/percona/pg_stat_monitor) | Use to view query origins, execution, planning statistics and details, query information, and metadata | | [`pg_stat_statements`](https://www.postgresql.org/docs/current/pgstatstatements.html) | Use to track planning and execution statistics of all SQL statements executed | | [`pg_trgm`](https://www.postgresql.org/docs/current/pgtrgm.html) | Text similarity measurement and index searching based on trigrams | | [`pgaudit`](https://github.com/pgaudit/pgaudit) | Provides session and object audit logging for legal or certification compliance | | [`pgcrypto`](https://www.postgresql.org/docs/current/pgcrypto.html) | Cryptographic functions | | [`pgrouting`](https://github.com/pgRouting/pgrouting) | Provide geospatial routing and other network analysis functionality | | [`pgrowlocks`](https://www.postgresql.org/docs/current/pgrowlocks.html) | Show row-level locking information | | [`pgstattuple`](https://www.postgresql.org/docs/current/pgstattuple.html) | Show tuple-level statistics | | [`plperl`](https://www.postgresql.org/docs/current/plperl.html) | PL/Perl procedural language | | [`plpgsql`](https://www.postgresql.org/docs/current/plpgsql.html) | PL/pgSQL procedural language | | [`postgis`](https://postgis.net/) | PostGIS geometry and geography spatial types and functions | | [`postgis_legacy`](https://postgis.net/) | Legacy functions for PostGIS | | [`postgis_raster`](https://postgis.net/docs/RT_reference.html) | PostGIS raster types and functions | | [`postgis_sfcgal`](http://postgis.net/docs/reference.html#reference_sfcgal) | PostGIS SFCGAL functions | | [`postgis_tiger_geocoder`](https://postgis.net/docs/Extras.html#Tiger_Geocoder) | PostGIS tiger geocoder and reverse geocoder | | [`postgis_topology`](https://postgis.net/docs/Topology.html) | PostGIS topology spatial types and functions | | [`postgres_fdw`](https://www.postgresql.org/docs/current/postgres-fdw.html) | Foreign-data wrapper for remote servers | | [`rum`](https://github.com/postgrespro/rum) | RUM index access method | | [`seg`](https://www.postgresql.org/docs/current/seg.html) | Data type for representing line segments or floating-point intervals | | [`sslinfo`](https://www.postgresql.org/docs/current/sslinfo.html) | Info about SSL certificates | | [`tablefunc`](https://www.postgresql.org/docs/current/tablefunc.html) | Functions that manipulate entire tables, including `crosstab` | | [`tcn`](https://www.postgresql.org/docs/current/tcn.html) | Triggered change notifications | | [`timescaledb`](https://github.com/timescale/timescaledb) | Enables scalable inserts and complex queries for time-series data | | [`tsm_system_rows`](https://www.postgresql.org/docs/current/tsm-system-rows.html) | TABLESAMPLE method which accepts number of rows as a limit | | [`tsm_system_time`](https://www.postgresql.org/docs/current/tsm-system-time.html) | TABLESAMPLE method which accepts time in milliseconds as a limit | | [`unaccent`](https://www.postgresql.org/docs/current/unaccent.html) | Text search dictionary that removes accents | | [`unit`](https://github.com/df7cb/postgresql-unit) | SI units | | [`uuid-ossp`](https://www.postgresql.org/docs/current/uuid-ossp.html) | Use to generate UUIDs | | [`vector`](https://github.com/pgvector/pgvector) | Type for vector similarity search |