Docs/Engines/YugabyteDB

YugabyteDB

YugabyteDB is PostgreSQL-compatible on the wire, with two differences that matter for releases: DDL does not roll back, and index builds are already online.

type
yugabytedb
Driver
psycopg
DDL
Auto-commits
Config class
PostgreSQL

Install

pip install "dblift[yugabytedb]"

Connection URL

postgresql+psycopg://user:password@cluster.internal:5433/app

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

dblift.yaml

database:
  type: yugabytedb
  url: "postgresql+psycopg://db.internal:5433/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

DDL does not roll back.

Unlike PostgreSQL, a migration that fails half-way can leave earlier statements applied. Keep migrations small and rehearse the release.

Do not write CONCURRENTLY.

YugabyteDB backfills indexes online by default, so the clause is unnecessary here.

Everything else follows PostgreSQL.

Same driver, same config keys, same generated SQL.