Database
Every Supabase project has a full Postgres database — not a Postgres abstraction.
You can work with a project's database in several ways:
- Visually using the Table Editor section of the Dashboard.
- With query syntax using the SQL Editor section of the Dashboard.
- Programmatically using a variety of methods.
Read the Connect to your database guide for details on connection strings and options.
The database is the foundation that Auth, Storage, Realtime, and Edge Functions are built on, and Supabase manages daily database backups and offers point-in-time recovery on paid plans.
Get started#
If you're new to the database section, these are the pages to read first:
- Connect to your database: Connection strings, the Supavisor connection pooler, and when to use direct, transaction, or session mode.
- Tables and data: Create tables and relationships, and edit rows from the Dashboard.
- Import data: Load existing data from CSV files,
pg_dump, or another Postgres database. - Secure your data: Row Level Security (RLS) is how Supabase makes the database safe to query directly from the client. Read this before exposing any table to your app.
- Extensions: Enable Postgres extensions — including
pgvectorfor embeddings,PostGISfor geospatial data, andpg_cronfor scheduled jobs — from the Dashboard. - Run SQL commands: Use the Dashboard's SQL Editor for ad-hoc queries and saved snippets.
Going further#
Once you've covered the basics, these guides help with other use cases and features:
- Database functions and triggers: Run logic inside the database in response to inserts, updates, or deletes.
- Database webhooks: Send row changes to an external HTTP endpoint.
- Replication and read replicas: Stream changes to other systems or read from a geographically closer replica.
- Backups: Daily backups on every project, with point-in-time recovery on paid plans. Backups cover the database itself; objects stored through the Storage API are not included.
- Query performance and optimization: Indexes, the query planner, and tools for finding slow queries.
- Roles and permissions: The Postgres roles Supabase ships with and how to add your own.