← Back to all sparks
T

TimescaleDB

ANALYTICS
Velocity5.0

Time-series database built on PostgreSQL

TimescaleDB is paying down correctness debt in its columnstore query paths.

time-seriespostgresqlcolumnstorequery-optimizationcompressionbugfixes
Current state
The 2.29 line is in patch mode after 2.29.0 landed chunk exclusion for DML in late July. 2.29.1 carried three security advisories alongside compression fixes, and 2.29.2 is bug fixes only - most of them wrong-results bugs in the columnar execution paths rather than crashes. Every release note in this window recommends upgrading at the next opportunity.
Where it's heading
The feature work of 2.27 and 2.28 - vectorized filter evaluation, first/last derived straight from columnstore batch metadata, sparse indexes, SkipScan on compressed data - has been followed by a steady stream of fixes to those same code paths. 2.29.2 alone repairs SkipScan dropping uncompressed rows, sparse-index pushdown returning wrong results for IS NULL, and gapfill over window aggregates. That is the normal cost of pushing query optimizations into a compressed columnar store, and the project is working through it release by release rather than pausing.
Prediction
With three consecutive patch releases on the 2.29 line and no new highlighted features since 2.29.0, the next minor is likely to resume the columnstore performance work - though the density of wrong-results fixes suggests more patches first.

Recent moves

  1. 23h ago

    2.29.2: SkipScan and sparse-index correctness fixes

    Six bug fixes, most of them wrong-results bugs rather than crashes: SkipScan dropping uncompressed rows when sort keys and distinct keys diverge, IS NULL predicates mishandled under min/max sparse-index pushdown, gapfill over window aggregates, and user-defined functions named time_bucket. It continues the pattern of the 2.29 line - correcting the query paths that 2.27 and 2.28 optimized.

    View source ↗
  2. 14d ago

    2.29.1: security fixes plus compression bugfixes

    Three security advisories are fixed alongside crashes in compressed continuous aggregates and assertion failures in add_dimension(). The security content is what moves this above routine patching.

    View source ↗
  3. 19d ago

    2.29.0: chunk exclusion speeds up UPDATE and DELETE

    DML operations acquire row exclusive locks only on the chunks being modified rather than the whole hypertable, cutting lock contention on high-concurrency write workloads. It extends TimescaleDB's chunk exclusion from planning reads to planning writes - the last notable feature before the current patch run.

    View source ↗
  4. 1mo ago

    2.28.3: columnar pipeline correctness fixes

    Wrong results from NULL-returning functions in the columnar execution pipeline, sort pushdown collation checks, and trigger toggling on columnstore hypertables. The same class of fix the 2.29 patches are still producing.

    View source ↗
  5. 1mo ago

    2.28.2: upgrade-path fixes for 2.28.1

    Migration repairs for bgw_job_stat_history and chunk_constraint, plus automatically dropping incompatible smallint bloom filters instead of halting an upgrade. Cleanup for a bad upgrade path, credited to two users who reported it.

    View source ↗
  6. 1mo ago

    2.28.1: compressed-table crash and constraint fixes

    A potential crash on DML against compressed tables under Bitmap Heap Scan, column renames on compressed chunks, and CHECK/NOT NULL enforcement for direct compress inserts. Early entries in the same correctness run.

    View source ↗