Skip to content

ClickHouse compatibility

chkit is developed and tested against ObsessionDB (a managed ClickHouse running the SharedMergeTree engine) and recent open-source ClickHouse releases.

chkit targets ClickHouse 24.x and newer. It uses standard SQL DDL and the HTTP interface, so it works against any reasonably recent ClickHouse — self-hosted, ClickHouse Cloud, or ObsessionDB. Older versions are not tested and may reject some generated DDL.

The continuous test suite runs against ObsessionDB, so the SharedMergeTree/Shared* engine families and ObsessionDB-specific DDL are the most heavily exercised paths. Vanilla single-node ClickHouse is supported for standard MergeTree-family engines.

A few schema features depend on the ClickHouse version of your target:

FeatureRequirement
Refreshable materialized viewsProduction-ready on 24.10+ (no flag). Experimental and flag-gated on 23.12–24.9. chkit targets 24.10+.
set data-skipping indexClickHouse 26+ requires the set(0) form rather than a bare set; chkit emits set(maxRows) accordingly. See the DSL reference.
uniqueKeyRenders UNIQUE KEY DDL, which is supported on ObsessionDB / ClickHouse Cloud engines but rejected by vanilla MergeTree.

If you target a single-node open-source ClickHouse, prefer the standard MergeTree engine family and avoid the Cloud/Shared-only features above.