Docs/Engines/TimescaleDB

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/app

A 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.