← Back to all sparks
T

TimescaleDB

ANALYTICS
Velocity5.0

Time-series database built on PostgreSQL

Every release in this window is columnstore work — compression is where TimescaleDB is spending

time-seriespostgres-extensioncolumnstorecompressionquery-performancevectorized-execution
Current state
TimescaleDB is on a roughly two-week cadence and the releases are dominated by one subsystem. 2.28.0 made first() and last() far cheaper on compressed data by deriving the aggregates straight from columnstore batch metadata rather than decompressing. 2.29.0 added chunk exclusion for DML, so UPDATE and DELETE on hypertables take row exclusive locks only on the chunks actually being modified. The patch releases in between are almost entirely columnar correctness: wrong results from functions returning NULL in the columnar execution pipeline, sort transformation errors on negative constants, column ordering on first/last sparse indexes, incompatible smallint bloom filters, and crashes grouping by columns absent from the SELECT list under vectorized aggregation.
Where it's heading
The compression layer is no longer a storage option bolted onto hypertables — it is being turned into a full query path, with its own aggregate pushdowns, sparse indexes, bloom filters and vectorized execution. The bug pattern confirms how new that path still is: several patches fix wrong results rather than crashes, which is what a young execution engine produces as it meets real query shapes. The DML chunk-exclusion work in 2.29.0 shows the other half of the effort, reducing the lock footprint of writes so compressed hypertables stay usable under mutation, not just under read.
Prediction
Given that every release in this window touches the columnstore and several fix correctness rather than performance, the next releases should continue hardening that path — more vectorized-aggregation and sparse-index fixes alongside further pushdowns. The entries give no signal of work outside compression.

Recent moves

  1. 2d ago

    Chunk exclusion narrows UPDATE and DELETE locking on hypertables

    Adds chunk exclusion for DML, so UPDATE and DELETE acquire row exclusive locks only on the chunks being modified instead of across the hypertable. A concrete concurrency win for write-heavy hypertables, and the counterpart to the read-path work in 2.28.0.

    View source ↗
  2. 16d ago

    Columnar pipeline NULL and sort-key correctness fixes

    Bug fixes in the columnar execution pipeline, including wrong results when a function returns NULL and incorrect sort transformation for sort keys with negative constants. Correctness cleanup on the compression query path.

    View source ↗
  3. 1mo ago

    Migration and sparse-index fixes after 2.28.1

    Migration and index fixes following 2.28.1: bgw_job_stat_history and chunk_constraint migrations, column ordering on first/last sparse indexes, and automatic dropping of incompatible smallint bloom filters. Follow-through on the sparse-index work rather than new capability.

    View source ↗
  4. 1mo ago

    Crash and constraint-enforcement fixes on compressed tables

    Fixes a potential crash on DML against compressed tables when the plan uses a Bitmap Heap Scan, plus column rename on compressed chunks and enforcement of CHECK, NOT NULL and view WITH CHECK OPTION constraints. All on the compressed-table path introduced by earlier releases.

    View source ↗
  5. 1mo ago

    first() and last() answered from columnstore metadata

    Derives first(value, time) and last(value, time) directly from columnstore batch metadata, so those queries no longer pay decompression cost on compressed data. The clearest example in this window of compression being treated as a query-planning opportunity rather than a storage tradeoff.

    View source ↗
  6. 2mo ago

    Vectorized aggregation grouping correctness fixes

    Fixes wrong results and crashes when grouping by columns not present in the SELECT list under vectorized aggregation or columnar index scan, and removes a refresh policy check when adding a columnstore policy. Early correctness work on the vectorized path.

    View source ↗