Postgres Extensions Overview
Extensions are exactly as they sound - they "extend" the database with functionality which isn't part of the Postgres core. Supabase has pre-installed some of the most useful open source extensions.
Enable and disable extensions#
- Go to the Database page in the Dashboard.
- Click Extensions in the sidebar.
- Enable or disable an extension.
Most extensions are installed under the extensions schema, which is accessible to public by default. To avoid namespace pollution, we do not recommend creating other entities in the extensions schema.
If you need to restrict user access to tables managed by extensions, we recommend creating a separate schema for installing that specific extension.
Some extensions can only be created under a specific schema, for example, postgis_tiger_geocoder extension creates a schema named tiger. Before enabling such extensions, make sure you have not created a conflicting schema with the same name.
In addition to the pre-configured extensions, you can also install your own SQL extensions directly in the database using Supabase's SQL editor. The SQL code for the extensions, including plpgsql extensions, can be added through the SQL editor.
Upgrade extensions#
If a new version of an extension becomes available on Supabase, you need to initiate a software upgrade in the Infrastructure Settings to access it. Software upgrades can also be initiated by restarting your server in the General Settings.
Full list of extensions#
Supabase is pre-configured with over 50 extensions and you can install additional extensions through the database.dev package manager.
You can install pure SQL extensions directly in the database using the SQL editor or any Postgres client.
If you would like to request an extension, add (or upvote) it in the GitHub Discussion.
Search extensions
Filter
- AI
- Admin
- Audit
- Cryptography
- Data Type
- Dataset
- Geo
- Index
- Language
- Notifications
- Search
- Testing
- Time Series
- Utility
[
address_standardizer
Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.
](https://postgis.net/docs/manual-2.5/Address_Standardizer.html)[
address_standardizer_data_us
Address Standardizer US dataset example
](https://postgis.net/docs/manual-2.5/Address_Standardizer.html)[
amcheck
Functions for verifying relation integrity
](https://www.postgresql.org/docs/current/amcheck.html)[
autoinc
Functions for autoincrementing fields
](https://www.postgresql.org/docs/current/contrib-spi.html#id-1.11.7.50.6)[
bloom
Bloom access method - signature file based index
](https://www.postgresql.org/docs/current/bloom.html)[
btree_gin
Support for indexing common datatypes in GIN
](https://www.postgresql.org/docs/current/btree-gin.html)[
btree_gist
Support for indexing common datatypes in GiST
](https://www.postgresql.org/docs/current/btree-gist.html)[
citext
Data type for case-insensitive character strings
](https://www.postgresql.org/docs/current/citext.html)[
cube
Data type for multidimensional cubes
](https://www.postgresql.org/docs/current/cube.html)[
dblink
Connect to other PostgreSQL databases from within a database
](https://www.postgresql.org/docs/current/contrib-dblink-function.html)[
dict_int
Text search dictionary template for integers
](https://www.postgresql.org/docs/current/dict-int.html)[
dict_xsyn
Text search dictionary template for extended synonym processing
](https://www.postgresql.org/docs/current/dict-xsyn.html)[
earthdistance
Calculate great-circle distances on the surface of the Earth
](https://www.postgresql.org/docs/current/earthdistance.html)[
fuzzystrmatch
Determine similarities and distance between strings
](https://www.postgresql.org/docs/current/fuzzystrmatch.html)[
hstore
Data type for storing sets of (key, value) pairs
](https://www.postgresql.org/docs/current/hstore.html)[
hypopg
Hypothetical indexes for PostgreSQL
](hypopg/index.md)[
http
HTTP client for PostgreSQL, allows web page retrieval inside the database.
](http/index.md)[
insert_username
Functions for tracking who changed a table
](https://www.postgresql.org/docs/current/contrib-spi.html#id-1.11.7.50.7)[
old_snapshot
Utilities in support of old_snapshot_threshold
](https://www.postgresql.org/docs/current/oldsnapshot.html)[
index_advisor
Optimize query performance with automatic index recommendation
](index_advisor/index.md)[
intarray
Functions, operators, and index support for 1-D arrays of integers
](https://www.postgresql.org/docs/current/intarray.html)[
isn
Data types for international product numbering standards
](https://www.postgresql.org/docs/current/isn.html)[
lo
Large Object maintenance
](https://www.postgresql.org/docs/current/lo.html)[
ltree
Data type for hierarchical tree-like structures
](https://www.postgresql.org/docs/current/ltree.html)[
moddatetime
Functions for tracking last modification time
](https://www.postgresql.org/docs/current/contrib-spi.html#id-1.11.7.50.8)[
pg_cron
Job scheduler for PostgreSQL
](pg_cron/index.md)[
pg_freespacemap
Examine the free space map (FSM)
](https://www.postgresql.org/docs/current/pgfreespacemap.html)[
pg_graphql
Pg_graphql: GraphQL support
](pg_graphql/index.md)[
pg_hashids
Pg_hashids
](pg_hashids/index.md)[
pg_jsonschema
Pg_jsonschema
](pg_jsonschema/index.md)[
pg_net
Async HTTP
](pg_net/index.md)[
pg_partman
Automated partition management
](https://github.com/pgpartman/pg_partman)[
pg_prewarm
Prewarm relation data
](https://www.postgresql.org/docs/current/pgprewarm.html)[
pg_stat_statements
Track execution statistics of all SQL statements executed
](pg_stat_statements/index.md)[
pg_surgery
Extension to perform surgery on a damaged relation
](https://www.postgresql.org/docs/current/pgsurgery.html)[
pg_trgm
Text similarity measurement and index searching based on trigrams
](https://www.postgresql.org/docs/current/pgtrgm.html)[
pgaudit
Provides auditing functionality
](pgaudit/index.md)[
pg_walinspect
Functions to inspect contents of PostgreSQL Write-Ahead Log
](https://www.postgresql.org/docs/current/pgwalinspect.html)[
pgcrypto
Cryptographic functions
](https://www.postgresql.org/docs/current/pgcrypto.html)[
pgjwt
JSON Web Token API for Postgresql
Deprecated in Postgres 17
](pgjwt/index.md)[
pgroonga
Super fast and all languages supported full text search index based on Groonga
](pgroonga/index.md)[
pgroonga_database
PGroonga database management module
](https://pgroonga.github.io/reference/modules/pgroonga-database.html)[
pgrouting
PgRouting Extension
](pgrouting/index.md)[
pgrowlocks
Show row-level locking information
](https://www.postgresql.org/docs/current/pgrowlocks.html)[
pgsodium
Postgres extension for libsodium functions
](pgsodium/index.md)[
pgstattuple
Show tuple-level statistics
](https://www.postgresql.org/docs/current/pgstattuple.html)[
pgtap
Unit testing for PostgreSQL
](pgtap/index.md)[
plcoffee
PL/CoffeeScript (v8) trusted procedural language
Deprecated in Postgres 17
](https://github.com/plv8/plv8/blob/master/doc/plv8.md#coffeescript-extension)[
pljava
PL/Java procedural language (https://tada.github.io/pljava/)
](https://tada.github.io/pljava/)[
plls
PL/LiveScript (v8) trusted procedural language
Deprecated in Postgres 17
](https://github.com/plv8/plv8/blob/master/doc/plv8.md#livescript-extension)[
plpgsql
PL/pgSQL procedural language
](https://www.postgresql.org/docs/current/plpgsql.html)[
plpgsql_check
Extended check for plpgsql functions
](plpgsql_check/index.md)[
plv8
PL/JavaScript (v8) trusted procedural language
Deprecated in Postgres 17
](plv8/index.md)[
postgis
PostGIS geometry and geography spatial types and functions
](postgis/index.md)[
postgres_fdw
Foreign-data wrapper for remote PostgreSQL servers
](postgres_fdw/index.md)[
refint
Functions for implementing referential integrity (obsolete)
](https://www.postgresql.org/docs/current/contrib-spi.html#id-1.11.7.50.5)[
rum
GIN-like index for text search
](rum/index.md)[
seg
Data type for representing line segments or floating-point intervals
](https://www.postgresql.org/docs/current/seg.html)[
sslinfo
Information about SSL certificates
](https://www.postgresql.org/docs/current/sslinfo.html)[
tablefunc
Functions that manipulate whole tables, including crosstab
](https://www.postgresql.org/docs/current/tablefunc.html)[
tcn
Triggered change notifications
](https://www.postgresql.org/docs/current/tcn.html)[
timescaledb
Enables scalable inserts and complex queries for time-series data
Deprecated in Postgres 17
](timescaledb/index.md)[
tsm_system_rows
TABLESAMPLE method which accepts number of rows as a limit
](https://www.postgresql.org/docs/current/tsm-system-rows.html)[
tsm_system_time
TABLESAMPLE method which accepts time in milliseconds as a limit
](https://www.postgresql.org/docs/current/tsm-system-time.html)[
unaccent
Text search dictionary that removes accents
](https://www.postgresql.org/docs/current/unaccent.html)[
uuid-ossp
Generate universally unique identifiers (UUIDs)
](uuid-ossp/index.md)[
vector
Vector data type with similarity search
](pgvector/index.md)[
pg_repack
Optimize physical storage and remove bloat from tables and indexes
](pg_repack/index.md)[
wrappers
Foreign data wrappers developed by Supabase
](/docs/guides/database/extensions/wrappers/overview)