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.
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
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 ideas.digitalocean.com by either voting for an existing request or adding a new idea for Managed Databases.
Extension Name | PostgreSQL 12 | PostgreSQL 11 | PostgreSQL 10 | Description |
---|---|---|---|---|
address_standardizer | 2.5.3 | 2.5.1 | 2.5.1 | Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. |
address_standardizer_data_us | 2.5.3 | 2.5.1 | 2.5.1 | Address Standardizer US dataset example |
amcheck | 1.2 | NOT SUPPORTED | NOT SUPPORTED | functions for verifying relation integrity |
bloom | 1 | NOT SUPPORTED | NOT SUPPORTED | bloom access method - signature file based index |
btree_gin | 1.3 | 1.2 | 1.2 | support for indexing common datatypes in GIN |
btree_gist | 1.5 | 1.5 | 1.5 | support for indexing common datatypes in GiST |
chkpass | NOT SUPPORTED | 1 | 1 | data type for auto-encrypted passwords |
citext | 1.6 | 1.4 | 1.4 | data type for case-insensitive character strings |
cube | 1.4 | 1.2 | 1.2 | data type for multidimensional cubes |
dblink | 1.2 | 1.2 | 1.2 | connect to other PostgreSQL databases from within a database |
dict_int | 1 | 1 | 1 | text search dictionary template for integers |
dict_xsyn | 1 | NOT SUPPORTED | NOT SUPPORTED | text search dictionary template for extended synonym processing |
earthdistance | 1.1 | 1.1 | 1.1 | calculate great-circle distances on the surface of the Earth |
file_fdw | 1 | NOT SUPPORTED | NOT SUPPORTED | foreign-data wrapper for flat file access |
fuzzystrmatch | 1.1 | 1.1 | 1.1 | determine similarities and distance between strings |
hstore | 1.6 | 1.4 | 1.4 | data type for storing sets of (key |
hstore_plperl | 1 | NOT SUPPORTED | NOT SUPPORTED | transform between hstore and plperl |
hstore_plperlu | 1 | NOT SUPPORTED | NOT SUPPORTED | transform between hstore and plperlu |
insert_username | 1 | 1 | 1 | functions for tracking who changed a table |
intagg | 1.1 | 1.1 | 1.1 | integer aggregator and enumerator (obsolete) |
intarray | 1.2 | 1.2 | 1.2 | functions |
isn | 1.2 | 1.1 | 1.1 | data types for international product numbering standards |
jsonb_plperl | 1 | NOT SUPPORTED | NOT SUPPORTED | transform between jsonb and plperl |
jsonb_plperlu | 1 | NOT SUPPORTED | NOT SUPPORTED | transform between jsonb and plperlu |
lo | 1.1 | NOT SUPPORTED | NOT SUPPORTED | Large Object maintenance |
ltree | 1.1 | 1.1 | 1.1 | data type for hierarchical tree-like structures |
pageinspect | 1.7 | NOT SUPPORTED | NOT SUPPORTED | inspect the contents of database pages at a low level |
pg_buffercache | 1.3 | 1.3 | 1.3 | examine the shared buffer cache |
pg_cron | 1.2 | NOT SUPPORTED | NOT SUPPORTED | Job scheduler for PostgreSQL |
pg_freespacemap | 1.2 | NOT SUPPORTED | NOT SUPPORTED | examine the free space map (FSM) |
pg_partman | 4.3.0 | NOT SUPPORTED | 3.1.3 | Extension to manage partitioned tables by time or ID |
pg_prometheus | 0.2.1 | 0.2.1 | 0.2.1 | Prometheus metrics for PostgreSQL |
pg_repack | 1.4.5 | 1.4.3 | 1.4.3 | Reorganize tables in PostgreSQL databases with minimal locks |
pg_stat_statements | 1.7 | 1.6 | 1.6 | track execution statistics of all SQL statements executed |
pg_trgm | 1.4 | 1.3 | 1.3 | text similarity measurement and index searching based on trigrams |
pg_visibility | 1.2 | NOT SUPPORTED | NOT SUPPORTED | examine the visibility map (VM) and page-level visibility info |
pgcrypto | 1.3 | 1.3 | 1.3 | cryptographic functions |
pgrouting | 2.6.3 | 2.6.1 | 2.6.1 | pgRouting Extension |
pgrowlocks | 1.2 | 1.2 | 1.2 | show row-level locking information |
pgstattuple | 1.5 | 1.5 | 1.5 | show tuple-level statistics |
plcoffee | NOT SUPPORTED | 1.4.4 | 1.4.4 | PL/CoffeeScript (v8) trusted procedural language |
plls | NOT SUPPORTED | 1.4.4 | 1.4.4 | PL/LiveScript (v8) trusted procedural language |
plperl | 1 | 1 | 1 | PL/Perl procedural language |
plperlu | 1 | NOT SUPPORTED | NOT SUPPORTED | PL/PerlU untrusted procedural language |
plpgsql | 1 | NOT SUPPORTED | NOT SUPPORTED | PL/pgSQL procedural language |
plv8 | NOT SUPPORTED | NOT SUPPORTED | 1.4.4 | PL/JavaScript (v8) trusted procedural language |
postgis | 2.5.3 | 2.5.1 | 2.5.1 | PostGIS geometry |
postgis_legacy | 2.5 | 2.5 | 2.5 | Legacy functions for PostGIS |
postgis_sfcgal | 2.5.3 | 2.5.1 | 2.5.1 | PostGIS SFCGAL functions |
postgis_tiger_geocoder | 2.5.3 | 2.5.1 | 2.5.1 | PostGIS tiger geocoder and reverse geocoder |
postgis_topology | 2.5.3 | 2.5.1 | 2.5.1 | PostGIS topology spatial types and functions |
postgres_fdw | 1 | 1 | 1 | foreign-data wrapper for remote PostgreSQL servers |
refint | 1 | NOT SUPPORTED | NOT SUPPORTED | functions for implementing referential integrity (obsolete) |
rum | 1.3 | NOT SUPPORTED | NOT SUPPORTED | RUM index access method |
seg | 1.3 | NOT SUPPORTED | NOT SUPPORTED | data type for representing line segments or floating-point intervals |
sslinfo | 1.2 | 1.2 | 1.2 | information about SSL certificates |
tablefunc | 1 | 1 | 1 | functions that manipulate whole tables |
tcn | 1 | NOT SUPPORTED | NOT SUPPORTED | Triggered change notifications |
timescaledb | 1.7.1 | 1.2.2 | 1.2.1 | Enables scalable inserts and complex queries for time-series data |
tsm_system_rows | 1 | 1 | 1 | TABLESAMPLE method which accepts number of rows as a limit |
tsm_system_time | 1 | 1 | 1 | TABLESAMPLE method which accepts time in milliseconds as a limit |
unaccent | 1.1 | 1.1 | 1.1 | text search dictionary that removes accents |
unit | 7 | 7 | 7 | SI units extension |
uuid-ossp | 1.1 | 1.1 | 1.1 | generate universally unique identifiers (UUIDs) |
xml2 | 1.1 | NOT SUPPORTED | NOT SUPPORTED | XPath querying and XSLT |