Docs/Engines/Citus

Citus

Citus distributes PostgreSQL across nodes while staying wire-compatible. DBLift treats it as PostgreSQL with its own identity, recorded through type: citus.

type
citus
Driver
psycopg
DDL
Transactional
Config class
PostgreSQL

Install

pip install "dblift[citus]"

Connection URL

postgresql+psycopg://user:password@coordinator.internal:5432/app

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

dblift.yaml

database:
  type: citus
  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.

Capabilities come from the PostgreSQL provider.

The PostgreSQL page is the reference.

migrate runs your SQL unchanged. Pro diff and export-schema can emit Citus distribution DDL (create_distributed_table / create_reference_table).