Skip to main content
PostgreSQL extensions add functionality beyond the core database capabilities. Supabase comes pre-configured with over 50 extensions, including popular ones for vector search, full-text search, geospatial data, and more.

What are Extensions?

Extensions are modular packages that add new features to PostgreSQL without modifying the core database engine. They can provide:
  • New data types (e.g., vectors, geometric types)
  • New functions (e.g., similarity search, distance calculations)
  • New operators and index types
  • Foreign data wrappers for external data sources
  • Administrative and monitoring tools

Managing Extensions

Enable an Extension

  1. Go to DatabaseExtensions in the Dashboard
  2. Find the extension you want to enable
  3. Click the toggle to enable it

Disable an Extension

List Installed Extensions

pgvector - Vector Embeddings

Store and query vector embeddings for AI/ML applications.

Real Example from Supabase Source

PostGIS - Geospatial Data

Work with geographic and geometric data.

pg_cron - Scheduled Jobs

Run periodic jobs directly in your database.

pg_net - HTTP Requests

Make HTTP requests from your database.

pgjwt - JSON Web Tokens

Create and verify JWTs in SQL.

pgcrypto - Encryption

Encrypt sensitive data in your database.

uuid-ossp - UUID Generation

Generate various types of UUIDs.

pg_stat_statements - Query Performance

Track and analyze query performance.

pg_trgm - Fuzzy String Matching

Find similar strings using trigram matching.

TimescaleDB - Time-Series Data

Optimize time-series data storage and queries.

Extension Schemas

Most extensions are installed in the extensions schema to keep things organized:
The extensions schema is accessible to public by default. For sensitive extensions, create a separate schema with restricted access.

Upgrading Extensions

When new extension versions become available:

Custom Extensions

You can install pure SQL extensions directly:
For more complex extensions, use the database.dev package manager or submit an extension request.

Available Extensions

Supabase provides over 50 pre-installed extensions:
  • pgvector: Vector similarity search for AI/ML
  • pg_embedding: Additional vector operations
  • pg_trgm: Fuzzy string matching
  • rum: Advanced full-text search indexes
  • pgroonga: Multi-language full-text search
  • postgis: Geographic objects and functions
  • postgis_topology: Topology support
  • postgis_tiger_geocoder: US address geocoding
  • pgrouting: Geospatial routing
  • timescaledb: Time-series optimization
  • pg_net: Make HTTP requests
  • pg_cron: Schedule jobs
  • pgjwt: JSON Web Tokens
  • pgcrypto: Cryptographic functions
  • uuid-ossp: UUID generation
  • pgaudit: Audit logging
  • postgres_fdw: Foreign data wrapper
  • Wrappers: Connect to external data sources
  • pg_stat_statements: Query performance stats
  • pg_repack: Remove bloat without locking
  • hypopg: Hypothetical indexes
  • index_advisor: Index recommendations

Requesting Extensions

If you need an extension that’s not available:
  1. Check the Extensions Discussion
  2. Upvote existing requests or create a new one
  3. Provide use case details to help prioritize

Best Practices

Keep extensions organized and avoid namespace pollution.
Each extension adds overhead. Enable only what you use.
Test in a development environment before upgrading production.
Keep track of which extensions your project depends on.
Many extensions provide specialized index types for better performance.

Next Steps

Tables

Create tables to use with extensions

Functions

Write functions using extension features

Migrations

Manage extensions in your migration files

Full Extension List

Browse all available extensions