Home

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#

  1. Go to the Database page in the Dashboard.
  2. Click Extensions in the sidebar.
  3. Enable or disable an extension.

note

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 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.

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.

Filter

address_standardizer

Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.

address_standardizer_data_us

Address Standardizer US dataset example

amcheck

Functions for verifying relation integrity

autoinc

Functions for autoincrementing fields

bloom

Bloom access method - signature file based index

btree_gin

Support for indexing common datatypes in GIN

btree_gist

Support for indexing common datatypes in GiST

citext

Data type for case-insensitive character strings

cube

Data type for multidimensional cubes

dblink

Connect to other PostgreSQL databases from within a database

dict_int

Text search dictionary template for integers

dict_xsyn

Text search dictionary template for extended synonym processing

earthdistance

Calculate great-circle distances on the surface of the Earth

fuzzystrmatch

Determine similarities and distance between strings

hstore

Data type for storing sets of (key, value) pairs

hypopg

Hypothetical indexes for PostgreSQL

http

HTTP client for PostgreSQL, allows web page retrieval inside the database.

insert_username

Functions for tracking who changed a table

old_snapshot

Utilities in support of old_snapshot_threshold

index_advisor

Optimize query performance with automatic index recommendation

intarray

Functions, operators, and index support for 1-D arrays of integers

isn

Data types for international product numbering standards

lo

Large Object maintenance

ltree

Data type for hierarchical tree-like structures

moddatetime

Functions for tracking last modification time

pg_cron

Job scheduler for PostgreSQL

pg_freespacemap

Examine the free space map (FSM)

pg_graphql

Pg_graphql: GraphQL support

pg_hashids

Pg_hashids

pg_jsonschema

Pg_jsonschema

pg_net

Async HTTP

pg_prewarm

Prewarm relation data

pg_stat_monitor

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.

pg_stat_statements

Track execution statistics of all SQL statements executed

pg_surgery

Extension to perform surgery on a damaged relation

pg_trgm

Text similarity measurement and index searching based on trigrams

pgaudit

Provides auditing functionality

pg_walinspect

Functions to inspect contents of PostgreSQL Write-Ahead Log

pgcrypto

Cryptographic functions

pgjwt

JSON Web Token API for Postgresql

pgroonga

Super fast and all languages supported full text search index based on Groonga

pgroonga_database

PGroonga database management module

pgrouting

PgRouting Extension

pgrowlocks

Show row-level locking information

pgsodium

Postgres extension for libsodium functions

pgstattuple

Show tuple-level statistics

pgtap

Unit testing for PostgreSQL

plcoffee

PL/CoffeeScript (v8) trusted procedural language

pljava

PL/Java procedural language (https://tada.github.io/pljava/)

plls

PL/LiveScript (v8) trusted procedural language

plpgsql

PL/pgSQL procedural language

plpgsql_check

Extended check for plpgsql functions

plv8

PL/JavaScript (v8) trusted procedural language

postgis

PostGIS geometry and geography spatial types and functions

postgres_fdw

Foreign-data wrapper for remote PostgreSQL servers

refint

Functions for implementing referential integrity (obsolete)

rum

GIN-like index for text search

seg

Data type for representing line segments or floating-point intervals

sslinfo

Information about SSL certificates

supautils

Supabase standard library

tablefunc

Functions that manipulate whole tables, including crosstab

tcn

Triggered change notifications

timescaledb

Enables scalable inserts and complex queries for time-series data

tsm_system_rows

TABLESAMPLE method which accepts number of rows as a limit

tsm_system_time

TABLESAMPLE method which accepts time in milliseconds as a limit

unaccent

Text search dictionary that removes accents

uuid-ossp

Generate universally unique identifiers (UUIDs)

pgvector

Vector data type with similarity search

pg_repack

Optimize physical storage and remove bloat from tables and indexes

wrappers

Foreign data wrappers developed by Supabase