Postgreswithout the hassle

Every Supabase project is a dedicated Postgres database. 100% portable with no vendor lock-in.

idint8
created_attimestamptz
nametext
emailtext
roletext
is_activebool
avatar_urltext
12024-01-15 09:23:41+00Alice Johnsonalice@example.comadmintruehttps://i.pravatar.cc/150?u=alice
22024-01-15 10:45:12+00Bob Smithbob@example.comeditortruehttps://i.pravatar.cc/150?u=bob
32024-02-03 14:12:08+00Carol Williamscarol@example.comviewerfalsehttps://i.pravatar.cc/150?u=carol
42024-02-14 08:33:55+00David Browndavid@example.comeditortrueNULL
52024-03-01 16:07:29+00Eve Martinezeve@example.comadmintruehttps://i.pravatar.cc/150?u=eve
62024-03-10 11:52:44+00Frank Leefrank@example.comviewertruehttps://i.pravatar.cc/150?u=frank
72024-03-22 07:18:03+00Grace Kimgrace@example.comeditorfalsehttps://i.pravatar.cc/150?u=grace
82024-04-05 13:41:17+00Henry Chenhenry@example.comviewertruehttps://i.pravatar.cc/150?u=henry
92024-04-12 09:05:33+00Isla Patelisla@example.comadmintruehttps://i.pravatar.cc/150?u=isla
102024-04-18 15:22:07+00Jack Riverajack@example.comeditorfalseNULL
112024-05-02 11:48:19+00Karen Nguyenkaren@example.comviewertruehttps://i.pravatar.cc/150?u=karen
122024-05-09 08:14:52+00Liam O'Brienliam@example.comeditortruehttps://i.pravatar.cc/150?u=liam
132024-05-21 17:33:28+00Mia Tanakamia@example.comadmintruehttps://i.pravatar.cc/150?u=mia
142024-06-01 10:07:41+00Noah Garcianoah@example.comviewerfalsehttps://i.pravatar.cc/150?u=noah
152024-06-14 14:55:03+00Olivia Schmidtolivia@example.comeditortrueNULL
162024-06-23 06:29:17+00Pablo Moralespablo@example.comviewertruehttps://i.pravatar.cc/150?u=pablo
172024-07-04 12:11:44+00Quinn Fosterquinn@example.comadmintruehttps://i.pravatar.cc/150?u=quinn
182024-07-15 19:38:56+00Ruby Aokiruby@example.comeditorfalsehttps://i.pravatar.cc/150?u=ruby
192024-07-28 07:52:10+00Sam Walkersam@example.comviewertruehttps://i.pravatar.cc/150?u=sam
202024-08-03 16:04:33+00Tara Singhtara@example.comadmintruehttps://i.pravatar.cc/150?u=tara

Everything you need
from your database

Every Supabase project is a full Postgres database with realtime functionality, fine-grained access controls, and instant APIs — no extra configuration required.

A dedicated Postgres database.

100% portable. Bring your existing Postgres database, or migrate away at any time.

idint8
emailtext
roletext
1alice@company.comadmin
2bob@company.comuser
CREATE POLICY
"Users can read their own profile"
ON public.users
FOR SELECT USING
  (auth.uid() = id);

Built on Postgres' proven Row Level Security.

Integrated with JWT authentication which controls exactly what your users can access.

idint8
usertext
texttext
1AliceHey, is the deploy ready?
2BobAlmost — running final tests now.
3AliceNice, let me know when it’s live.
Hey, is the deploy ready?
Almost — running final tests now.
Nice, let me know when it’s live.

Data-change listeners over websockets.

Subscribe and react to database changes, milliseconds after they happen.

You can have a really great product, but you need to want to work with the people behind it. With Supabase, we always felt very aligned.

Howard HaynesCPO at Next Door Lending

Built for scale
with powerful new features

Branching

  • Branch your Supabase project
  • Sync with your git branches
  • Manage every Preview from the Dashboard
  • Support for Vercel Previews

Read Replicas

  • Serve data closer to your users
  • Provide data redundancy
  • Run complex queries without affecting your primary database
  • Distribute load across various databases

Manage your data with a
built-in Table Editor

Manage your data with a spreadsheet-like interface. Create tables, set up relationships, and export — no SQL required.

Spreadsheet editing

Spreadsheet editing

Add, edit, and update your data with the simplicity of a no-code tool.

Write and run queries with a
full SQL Editor

Write, run, and save SQL queries directly from the dashboard with full autocomplete and syntax highlighting.

Full SQL

Full SQL

A full SQL editor built right into the dashboard.

Never write
an API again

We introspect your database and provide instant APIs. Focus on building your product, while Supabase handles the CRUD.

// Fetch all public rooms with their messages
const { data: rooms } = await supabase
  .from('rooms')
  .select(`
    id, name, created_at,
    messages ( id, text, user_id )
  `)
  .eq('public', true)
  .order('created_at', { ascending: false })
  .limit(20)
Documentation

Build in a weekend, scale to millions