Skip to main content
Every Supabase project comes with a full PostgreSQL database, one of the world’s most stable and advanced relational databases. Supabase provides a complete database management experience through the Dashboard, CLI, and direct SQL access.

What is PostgreSQL?

PostgreSQL (often called “Postgres”) is a powerful, open source object-relational database system with over 35 years of active development. It has earned a strong reputation for reliability, feature robustness, and performance.

Key Features

ACID Compliance

Full transactional support with atomicity, consistency, isolation, and durability guarantees

Rich Data Types

Support for JSON, arrays, geometric types, ranges, and custom types

Advanced Indexing

B-tree, Hash, GiST, SP-GiST, GIN, and BRIN indexes for optimal query performance

Extensibility

Add functionality through extensions like PostGIS, pgvector, and more

Working with Your Database

Supabase provides multiple ways to interact with your PostgreSQL database:

Dashboard Interface

The Supabase Dashboard provides a user-friendly interface for database management:
  • Table Editor: Create and manage tables visually, similar to a spreadsheet
  • SQL Editor: Write and execute custom SQL queries with syntax highlighting
  • Schema Visualizer: View relationships between tables
  • Database Advisors: Get recommendations for performance improvements

SQL Editor

Execute custom SQL queries directly in the Dashboard:

Supabase CLI

Manage your database schema through migrations:

Direct Connection

Connect using any PostgreSQL client:

Database Features

Real-time Subscriptions

Supabase extends Postgres with real-time functionality. Subscribe to database changes:

Row Level Security (RLS)

Control access to your data at the row level:

Automatic API Generation

Supabase automatically generates a RESTful API from your database schema:

Database Organization

Schemas

Schemas help organize your database objects:

Common Schemas in Supabase

  • public: Default schema for your application tables
  • auth: Supabase authentication system tables
  • storage: File storage metadata
  • realtime: Real-time subscriptions configuration
  • extensions: PostgreSQL extensions

Performance & Scaling

Connection Pooling

Supabase uses PgBouncer for connection pooling:

Indexes

Create indexes to improve query performance:

Materialized Views

Cache complex query results:

Backups & Recovery

Supabase automatically manages database backups:
  • Daily backups are available on all projects
  • Point-in-time recovery (PITR) available on Pro plan and above
  • Backups do not include Storage objects (only metadata)

Next Steps

Tables

Learn how to create and manage database tables

Functions

Write custom database functions in SQL and PL/pgSQL

Triggers

Automatically execute code on table events

Extensions

Extend PostgreSQL with powerful extensions

Resources