On this page

Use extensions

Enable Postgres extensions in Studio (Database → Extensions) or with one SQL statement. 50+ extensions are available on every plan.

#Enable an extension

Open Database → Extensions in Studio, search, and switch it on. Studio installs required extensions too. Or run SQL; most extensions go into the extensions schema:

SQL
create extension if not exists pg_trgm with schema extensions;

Disable an extension in Studio or with drop extension pg_trgm;. pgcrypto, uuid-ossp and plpgsql are always on. pgmq, pg_partman and vault are enabled from Studio.

#Available extensions

CategoryExtensions
Platformpg_cron, pg_net, pgmq, vault, pg_graphql
AI and searchvector, pg_trgm, pgroonga, rum, unaccent, fuzzystrmatch, dict_int, dict_xsyn, bloom
Geopostgis, postgis_raster, postgis_sfcgal, postgis_topology, postgis_tiger_geocoder, pgrouting, address_standardizer, address_standardizer_data_us, earthdistance, cube
Performancepg_stat_statements, hypopg, index_advisor, plpgsql_check, pg_partman
Data typescitext, hstore, ltree, isn, seg, lo, intarray, btree_gin, btree_gist, pg_hashids, pg_jsonschema, pgjwt, uuid-ossp, pgcrypto
Tooling and triggersplpgsql, pgtap, tablefunc, tcn, tsm_system_rows, tsm_system_time, moddatetime, insert_username, autoinc, refint

#Not available

Your project shares its database server with other projects, so extensions that could break that isolation are blocked. create extension fails for them with This extension is not available on shared database servers.

WhyExtensions
Reach other databases or internal hostsdblink, postgres_fdw, wrappers, http (use pg_net), xml2
Read server filesfile_fdw
Read data of the whole serverpg_walinspect, pg_buffercache, pg_stat_monitor, pageinspect, pg_freespacemap, pg_visibility, pgstattuple, pgrowlocks, amcheck
Use a key shared by every databasepgsodium (use Vault)
Need a superuser or change the serverpg_repack, pg_surgery, pg_prewarm, pg_tle, pgaudit, wal2json, orioledb
Other untrusted languages and toolsplv8, plcoffee, plls, pljava, sslinfo, intagg

#Example: vector embeddings

SQL
create extension if not exists vector with schema extensions;

create table public.documents (
  id bigint generated always as identity primary key,
  content text,
  embedding extensions.vector(1536)
);