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
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 eg.
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.
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. You can also install your own SQL extensions directly in the database through our SQL editor.
Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.
Address Standardizer US dataset example
Functions for verifying relation integrity
Functions for autoincrementing fields
Bloom access method - signature file based index
Support for indexing common datatypes in GIN
Support for indexing common datatypes in GiST
Data type for case-insensitive character strings
Data type for multidimensional cubes
Connect to other PostgreSQL databases from within a database
Text search dictionary template for integers
Text search dictionary template for extended synonym processing
Calculate great-circle distances on the surface of the Earth
Determine similarities and distance between strings
Data type for storing sets of (key, value) pairs
Hypothetical indexes for PostgreSQL
HTTP client for PostgreSQL, allows web page retrieval inside the database.
Functions for tracking who changed a table
Utilities in support of old_snapshot_threshold
Optimize query performance with automatic index recommendation
Functions, operators, and index support for 1-D arrays of integers
Data types for international product numbering standards
Large Object maintenance
Data type for hierarchical tree-like structures
Functions for tracking last modification time
Job scheduler for PostgreSQL
Examine the free space map (FSM)
Pg_graphql: GraphQL support
Prewarm relation data
The pg_stat_monitor is a PostgreSQL Query Performance Monitoring tool, based on PostgreSQL contrib module pg_stat_statements. pg_stat_monitor provides aggregated statistics, client information, plan details including plan, and histogram information.
Track execution statistics of all SQL statements executed
Extension to perform surgery on a damaged relation
Text similarity measurement and index searching based on trigrams
Provides auditing functionality
Functions to inspect contents of PostgreSQL Write-Ahead Log
JSON Web Token API for Postgresql
Super fast and all languages supported full text search index based on Groonga
PGroonga database management module
Show row-level locking information
Postgres extension for libsodium functions
Show tuple-level statistics
Unit testing for PostgreSQL
PL/CoffeeScript (v8) trusted procedural language
PL/Java procedural language (https://tada.github.io/pljava/)
PL/LiveScript (v8) trusted procedural language
PL/pgSQL procedural language
Extended check for plpgsql functions
PostGIS geometry and geography spatial types and functions
Foreign-data wrapper for remote PostgreSQL servers
Functions for implementing referential integrity (obsolete)
GIN-like index for text search
Data type for representing line segments or floating-point intervals
Information about SSL certificates
Supabase standard library
Functions that manipulate whole tables, including crosstab
Triggered change notifications
Enables scalable inserts and complex queries for time-series data
TABLESAMPLE method which accepts number of rows as a limit
TABLESAMPLE method which accepts time in milliseconds as a limit
Text search dictionary that removes accents
Generate universally unique identifiers (UUIDs)
Vector data type with similarity search
Foreign data wrappers developed by Supabase