TimescaleDB
TimescaleDB is a PostgreSQL extension, so everything on the PostgreSQL page applies with one exception: index builds must not be written as concurrent.
type
timescaledb
Driver
psycopg
DDL
Transactional
Config class
PostgreSQL
Install
pip install "dblift[timescaledb]"Connection URL
postgresql+psycopg://user:password@db.internal:5432/appA plain postgresql:// URL works — DBLift adds the psycopg driver.
dblift.yaml
database:
type: timescaledb
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
Do not write CONCURRENTLY.
A hypertable index does not accept the clause, so DBLift never recommends the concurrent form here.
Everything else follows PostgreSQL.
Transactional DDL, cascading drops and lower-cased unquoted identifiers are unchanged.