Supported PostgreSQL Extensions

PostgreSQL is an open source, object-relational database built with a focus on 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:


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;

You can request support for an extension on by either voting for an existing request or adding a new idea for Managed Databases.

Extension Name Descriptions
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 (PostgreSQL 13 and newer)
btree_gin Support for indexing common data types in GIN
btree_gist Support for indexing common data types in GiST
chkpass A data type for auto-encrypted passwords (PostgreSQL 10 only)
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 (PostgreSQL 11 and newer)
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
isn Data types for international product-numbering standards
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 (PostgreSQL 11 and newer)
pg_prometheus Prometheus metrics (PostgreSQL 12 and newer)
pg_repack Use to reorganize tables with minimal locks
pg_similarity Support similarity queries (PostgreSQL 13 and newer)
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
pgcrypto Cryptographic functions
pgrouting Provide geospatial routing and other network analysis functionality
pgrowlocks Show row-level locking information
pgstattuple Show tuple-level statistics
pgvector Type for vector similarity search (PostgreSQL 13 and newer)
plcoffee PL/CoffeeScript trusted procedural language (PostgreSQL 10 only)
plls PL/LiveScript trusted procedural language (PostgreSQL 10 only)
plperl PL/Perl procedural language
plpgsql PL/pgSQL procedural language
plv8 PL/JavaScript trusted procedural language (PostgreSQL 10 only)
postgis PostGIS geometry and geography spatial types and functions
postgis_legacy Legacy functions for PostGIS
postigs_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