Docs/Engines/Supabase

Supabase

Supabase runs PostgreSQL, so DBLift treats it as PostgreSQL with its own identity. Setting type: supabase records the engine you actually run in history and in reports.

type
supabase
Driver
psycopg
DDL
Transactional
Config class
PostgreSQL

Install

pip install "dblift[supabase]"

Connection URL

postgresql+psycopg://postgres:password@db.example.supabase.co:5432/postgres

A plain postgresql:// URL works — DBLift adds the psycopg driver.

dblift.yaml

database:
  type: supabase
  url: "postgresql+psycopg://db.internal:5432/app"
  schema: "public"
  ssl_mode: "require"
migrations:
  directory: "./migrations"

Engine settings

KeyDefaultEffect
schemapublicSets the connection's search_path, so unqualified objects land here.
ssl_mode—Passed through as PostgreSQL's sslmode: require, verify-ca, verify-full.
connection_timeout30Seconds to wait for a connection, sent as connect_timeout.
extra_params{}Any other libpq parameter, appended to the connection URL.

Behaviour notes

No declared differences from PostgreSQL.

Transactional DDL and concurrent index builds behave as on PostgreSQL.

The PostgreSQL page is the reference.

This page carries the identity and the install extra only.