Supabase is a managed Postgres platform with first-class extension support — enable pgvector, postgis, pg_cron and dozens more from the dashboard, the Supabase CLI, or with a single SQL command.
Enables scalable inserts and complex queries for time-series data
Enables scalable inserts and complex queries for time-series data
vector data type and ivfflat and hnsw access methods
Add in-database GraphQL support
Extension to manage partitioned tables by time or ID
Extension to manage partitioned tables by time or ID
Reorganize tables in PostgreSQL databases with minimal locks
Reorganize tables in PostgreSQL databases with minimal locks
PostgreSQL extension providing JSON Schema validation
PostgreSQL extension providing JSON Schema validation
Foreign data wrappers developed by Supabase
Use Groonga as index, fast full text search platform for all languages!
Use Groonga as index, fast full text search platform for all languages!
Postgres extension for libsodium functions
Postgres extension for libsodium functions
Provides HTTP client functions to issue GET, POST, and other requests directly from SQL.
Provides HTTP client functions to issue GET, POST, and other requests directly from SQL.
connect to other PostgreSQL databases from within a database
connect to other PostgreSQL databases from within a database
text search dictionary template for extended synonym processing
calculate great-circle distances on the surface of the Earth
determine similarities and distance between strings
functions, operators, and index support for 1-D arrays of integers
data types for international product numbering standards
track planning and execution statistics of all SQL statements executed
track planning and execution statistics of all SQL statements executed
text similarity measurement and index searching based on trigrams
text similarity measurement and index searching based on trigrams
functions to inspect contents of PostgreSQL Write-Ahead Log
functions to inspect contents of PostgreSQL Write-Ahead Log
foreign-data wrapper for remote PostgreSQL servers
data type for representing line segments or floating-point intervals
functions that manipulate whole tables, including crosstab
functions that manipulate whole tables, including crosstab
TABLESAMPLE method which accepts number of rows as a limit
TABLESAMPLE method which accepts time in milliseconds as a limit
TABLESAMPLE method which accepts time in milliseconds as a limit
generate universally unique identifiers (UUIDs)
Most Supabase extensions are one click away in the dashboard. You can also enable them with plain SQL if you prefer the keyboard or are scripting setup.
Run from the SQL editor or any psql session as the postgres user.
-- Enable pgvector
CREATE EXTENSION IF NOT EXISTS vector;
-- Verify it's installed
SELECT extname, extversion FROM pg_extension WHERE extname = 'vector';Supabase CLI manages extensions via migrations. Initialize a migration with the CREATE EXTENSION statement, then push it.
# In your project root with the Supabase CLI installed
supabase migration new enable_pgvector
# Edit the generated file, add:
# create extension if not exists vector;
supabase db pushThese extensions ship enabled by default — no CREATE EXTENSION needed.
Proprietary extensions that exist only on Supabase, not part of the open-source PostgreSQL ecosystem.
Async HTTP requests from SQL — webhooks, external API calls from triggers, third-party service integrations. Supabase-original, widely used in the ecosystem.
DocsGraphQL API automatically generated from your Postgres schema. Powers Supabase's GraphQL endpoint, also installable standalone.
DocsModern symmetric and asymmetric cryptography backed by libsodium. Used for column-level encryption and Supabase Vault.
DocsForeign data wrapper framework for connecting Postgres to Stripe, Firebase, BigQuery, ClickHouse, S3, and more — all queryable as SQL tables.
DocsJSON Web Token signing and verification in SQL. Deprecated in Postgres 17 — Supabase now recommends using auth.jwt() helpers instead.
DocsJSON Schema validation as a Postgres check constraint. Useful for enforcing shape on jsonb columns.
DocsFull-text search with multi-language support (CJK, Arabic, etc.) — stronger than the built-in tsvector for non-English content.
DocsExtensions you might expect that aren't available on Supabase, with workarounds where they exist.
timescaledbWhy missing: timescaledb shipped on Supabase for years but is marked deprecated as of Postgres 17 — Timescale Inc. relicensed the extension under the Timescale License (TSL), which is incompatible with Supabase's open-source commitment. New projects can't enable it.
Alternative: For time-series workloads, use Postgres partitioning + pg_partman (also supported on Supabase), or run TimescaleDB self-hosted on a separate instance.
pg_repackWhy missing: pg_repack requires superuser-level operations that managed Postgres providers don't expose. Supabase doesn't ship it.
Alternative: Use VACUUM (FULL) during maintenance windows, or migrate hot tables to a fresh schema if bloat becomes critical.
Supabase supports user-authored extensions through pg_tle (Trusted Language Extensions for PostgreSQL), the AWS-developed framework for safely installing extensions written in trusted procedural languages (PL/pgSQL, PL/v8, PL/Perl, SQL). You can author your own extension, package it, and install it without superuser access — the runtime sandboxing makes it safe on shared infrastructure. Native C extensions are NOT installable by customers; the allow-list of compiled extensions is managed by Supabase.
1bench is a modern GUI client for PostgreSQL — connect to your Supabase instance, install extensions, write queries, and inspect schemas without leaving the IDE.
Try 1bench for PostgreSQL