Extensions

Extensions allow for expanded functionality within Postgres, without requiring a new version of Postgres to be released. Extensions can enable new functionality including datatypes and functions.

You can see a list of all available extensions by querying your database:

SELECT * FROM pg_available_extensions

You can see all extensions that are already enabled by executing:

SELECT * FROM pg_extension;

Extensions are enabled by the postgres user by running:

CREATE EXTENSION extensionname;

Procedural languages

While also a category of extension, procedural languages allow you to write custom functions to be executed within your database. Each of these has a number of additional details and functionality. We currently support:

Current catalog of extensions

ExtensionType of extensionSummaryCommand to create
Address StandardizerFunctionsUsed to parse an address into constituent elementsCREATE EXTENSION address_standardizer;
Address Standardizer (US)FunctionsData for standardizing US addressesCREATE EXTENSION address_standardizer_data_us;
AdminpackFunctionsAdministrative functions for PostgresCREATE EXTENSION adminpack;
AmcheckFunctionsFunctions for verifying relation integrityCREATE EXTENSION amcheck;
AnonymizerFunctionsData anonymization toolsCREATE EXTENSION anon CASCADE; SELECT anon.init();
AuditFunctionsAudit user actionsCREATE EXTENSION pgaudit;
Auto explainLoggingAutomatically log execution plans of slow statementsSee auto_explain
Auto IncrementFunctionsProvides function for storing the next value of a sequence in an integer fieldCREATE EXTENSION autoinc;
BloomDatatypeProvides a bloom filter index typeCREATE EXTENSION bloom;
Btree GINIndex typesSupport for indexing common datatypes in GINCREATE EXTENSION btree_gin;
Btree GISTIndex typesSupport for indexing common datatypes in GiSTCREATE EXTENSION btree_gist;
Buffer CacheViewsExamine the shared buffer cacheCREATE EXTENSION pg_buffercache;
Case insensitive textDatatypeCase insensitive text datatypeCREATE EXTENSION citext;
CitusFunctionsSharding, see Citus for moreCREATE EXTENSION citus;
Citus ColumnarFunctionsColumnar compress, see Citus for moreCREATE EXTENSION citus_columnar;
ClickHouse FDWForeign Data WrapperForeign Data Wrapper for ClickHouse column oriented databaseCREATE EXTENSION clickhouse_fdw;
CronFunctionsCreate scheduled tasksCREATE EXTENSION pg_cron;
CryptoFunctionsFunctions for encrypting data inside columnsCREATE EXTENSION pgcrypto;
CubeDatatypeDatatype for multi-dimensional cubesCREATE EXTENSION cube;
DDL ExtractorFunctionsDDL eXtractor functionsCREATE EXTENSION ddlx;
DblinkFunctionsConnect to other PostgreSQL databases from within a databaseCREATE EXTENSION dblink;
dict-intDictionariesFull text search dictionary template for integersCREATE EXTENSION dict_int;
dict-xsynDictionariesFull text search dictionary template for extended synonym processingCREATE EXTENSION dict_xsyn;
Earth DistanceFunctionsFunctions that assist with computing the distance between points.CREATE EXTENSION earthdistance;
Free Space MapFunctionsExamine the free space map (FSM)CREATE EXTENSION pg_freespacemap;
Fuzzy String MatchFunctionsFunctions for comparing similarity between stringsCREATE EXTENSION fuzzystrmatch;
H3FunctionsH3 bindings for PostgresCREATE EXTENSION h3;
Hint planFunctionsAdjust PostgreSQL execution plans using "hints" in SQL comments (more info)CREATE EXTENSION pg_hint_plan;
HstoreDatatypeKey value datatypeCREATE EXTENSION hstore;
Hstore (PL/Perl)DatatypeTransform between Hstore and PL/Perl (trusted)CREATE EXTENSION hstore_plperl;
Hstore (PL/PerlU)DatatypeTransform between Hstore and PL/PerlU (untrusted)CREATE EXTENSION hstore_plperlu;
Hstore (PL/Python3U)DatatypeTransform between Hstore and PL/Python3U (untrusted)CREATE EXTENSION hstore_plpython3u;
HTTP ClientFunctionsHTTP client for PostgreSQL, allows web page retrieval inside the database.CREATE EXTENSION http;
HypopgFunctionsHypothetical indexesCREATE EXTENSION hypopg;
IncrementalFunctionsIncremental batch processingCREATE EXTENSION pg_incremental;
Insert UsernameFunctionsWill place the current Postgres username in a text fieldCREATE EXTENSION insert_username;
Integer AggregatorFunctionsInteger aggregator and enumeratorCREATE EXTENSION intagg;
Integer ArrayFunctionsSorting and manipulation of integer arraysCREATE EXTENSION intarray;
ISNDatatypeDatatype for product numbering (including UPC, ISBN, ISSN)CREATE EXTENSION isn;
IVMFunctionsIncremental View MaintenanceCREATE EXTENSION pg_ivm;
JSONB (PL/Perl)DatatypeTransform between JSONB and PL/Perl (trusted)CREATE EXTENSION jsonb_plperl;
JSONB (PL/PerlU)DatatypeTransform between JSONB and PL/PerlU (untrusted)CREATE EXTENSION jsonb_plperlu;
JSONB (PL/Python3U)DatatypeTransform between JSONB and PL/Python3U (untrusted)CREATE EXTENSION jsonb_plpython3u;
Large ObjectDatatypeSpecialized large object datatypeCREATE EXTENSION lo;
Label TreeDatatypeDatatype for tree-like structuresCREATE EXTENSION ltree;
Label Tree (PL/Python3U)DatatypeTransform between Ltree and PL/Python3U (untrusted)CREATE EXTENSION ltree_plpython3u;
LogicalFunctionsHelper functions for PostgreSQL Logical ReplicationCREATE EXTENSION pglogical;
Modification TimeFunctionsWill place the current timestamp into a timestamp fieldCREATE EXTENSION moddatetime;
MongoDB FDWForeign Data WrapperForeign data wrapper for MongoDB accessCREATE EXTENSION mongo_fdw;
MySQL FDWForeign Data WrapperForeign Data Wrapper for MySQLCREATE EXTENSION mysql_fdw;
OGR FDWForeign Data Wrapperforeign-data wrapper for GIS data accessCREATE EXTENSION ogr_fdw;
OrafceFunctionsEmulate Oracle functionsCREATE EXTENSION orafce;
Page InspectFunctionsInspect the contents of database pages at a low levelCREATE EXTENSION pageinspect;
Row LockingFunctionsShow row-level locking informationCREATE EXTENSION pgrowlocks;
PartmanFunctionsCreate and manage both time-based and serial-based table partition setsCREATE EXTENSION pg_partman;
ParquetFunctionsRead and write Parquet files in S3 on your cluster (PG16+)CREATE EXTENSION pg_parquet;
PodmanFunctionsRun containers inside the databaseSee container apps
PostGISGeospatial utilitiesPostGIS geometry, geography, and raster spatial types and functionsSee PostGIS
PostGIS RasterGeospatial utilitiesPostGIS raster types and functionsCREATE EXTENSION postgis_raster;
PostGIS SFCGALGeospatial utilitiesPostGIS SFCGAL functionsCREATE EXTENSION postgis_sfcgal;
PostGIS Tiger GeocoderGeospatial utilitiesPostGIS tiger geocoder and reverse geocoderCREATE EXTENSION postgis_tiger_geocoder;
PostGIS TopologyGeospatial utilitiesPostGIS topology spatial types and functionsCREATE EXTENSION postgis_topology;
Postgres FDWForeign Data WrapperForeign data wrapper for connecting to other Postgres databasesCREATE EXTENSION postgres_fdw;
PrewarmFunctionsUtilities to prewarm your cache, helpful for standby failoverCREATE EXTENSION pg_prewarm;
ProctabFunctionsAccess operating system process tables from PostgreSQLCREATE EXTENSION pg_proctab;
RefintFunctionsFunctions for referential integrityCREATE EXTENSION refint;
RepackFunctionsRemove bloat from tables and indexes (See also pg_squeeze)CREATE EXTENSION pg_repack;
RoutingGeospatial utilitiesRouting functionalityCREATE EXTENSION pgrouting;
SimilarityFunctionsSupport for similarity queriesCREATE EXTENSION pg_similarity;
SurgeryFunctionsCorrective actions on corruption or damaged dataCREATE EXTENSION pg_surgery;
SegDatatypeDatatype for representing floating point intervals or segmentsCREATE EXTENSION seg;
SSL InfoFunctionsAbility to query SSL information based on who isCREATE EXTENSION sslinfo;
Stat statementsViewsTrack planning and execution statistics of all SQL statements executedCREATE EXTENSION pg_stat_statements;
Stat TupleFunctionsShow tuple-level statisticsCREATE EXTENSION pgstattuple;
SqueezeFunctionsRemove bloat from tables and indexes. A modern alternative to pg_repack. See pg_squeeze docs.CREATE EXTENSION pg_squeeze;
Table functionsFunctionsFunctions for cubing and rollups of tablesCREATE EXTENSION tablefunc;
Table sampling (system rows)FunctionsFunctions to provide sampling of system tablesCREATE EXTENSION tsm_system_rows;
Table sampling (system time)FunctionsFunctions to provide sampling of system timeCREATE EXTENSION tsm_system_time;
TimescaleDB (Apache 2 Edition)FunctionsProvides automatic partitioning of time-series data, events, and analyticsCREATE EXTENSION timescaledb;
Trigger change notificationsFunctionsFunctions for listening to changes on tablesCREATE EXTENSION tcn;
TrigramFunctionsMatching and similarity of stringsCREATE EXTENSION pg_trgm;
UnaccentDictionariesText search dictionary that removes accentsCREATE EXTENSION unaccent;
VisibilityFunctionsExamine the visibility map (VM) and page-level visibility infoCREATE EXTENSION pg_visibility;
VectorFunctionsVector (pgvector) data type and ivfflat access methodCREATE EXTENSION vector;
uuid-osspFunctionsGenerate universally unique identifiers (UUIDs)CREATE EXTENSION uuid-ossp;
uuidv7FunctionsGenerate version 7 universally unique identifiers (UUIDs)CREATE EXTENSION pg_uuidv7;
WAL inspectFunctionsInspect contents of WALCREATE EXTENSION pg_walinspect;
xml2FunctionsXPath querying and XSLTCREATE EXTENSION xml2;

Need something you don't see?

If you find an unsupported procedural language or extension please reach out to Crunchy Bridge support as we're actively expanding the list of what is supported.

Additional extension documentation