← Back to all sparks
T

TimescaleDB

ANALYTICS
Velocity5.0

Time-series database built on PostgreSQL

TimescaleDB 2.31 speeds columnstore UPDATE/DELETE and previews a new integer compressor.

time-seriescolumnstorecompressionquery-plannerpostgres
◆Current state
TimescaleDB ships on a steady biweekly cadence where most releases are bug-fix patches for the columnstore, SkipScan and continuous aggregates. Feature releases have chipped at the cost of big hypertables: 2.30.0 made last-point LIMIT queries independent of chunk count, and 2.31.0 vectorizes UPDATE and DELETE on compressed data, adds non-blocking move_to_columnstore(), and previews an Adaptive Integer Compressor claiming up to 20% better integer compression. The 2.30.x patches fixed duplicate rows and crashes from the previous release's new planner node.
◆Where it's heading
The columnstore is being made a place where data can be changed, not just queried: chunk-level locking for DML in 2.29, vectorized DML and non-blocking compression in 2.31. Granular continuous-aggregate refresh is maturing alongside with APIs, views and refresh statistics. Each minor release is still followed by correctness patches.
◆Prediction
2.32.0 will enable the Adaptive Integer Compressor by default, as the 2.31 notes state. Expect a couple of 2.31.x patches for the new DML and compression paths first.

◆Recent moves

  1. 8d ago

    2.31.0: faster columnstore DML, adaptive integer compression preview

    2.31.0 extends vectorization to UPDATE and DELETE on the columnstore (up to 6.5x on some grouped queries), adds move_to_columnstore() without blocking concurrent writes, and previews an opt-in integer compressor slated to become default in 2.32. It continues the push to make compressed hypertables writable at speed, with two debug-only GUC renames as breaking changes.

    View source ↗
  2. 29d ago

    2.30.2: chunk-merge crash fixes and renamed cagg refresh options

    A patch release fixing crashes in chunk merges and CREATE TABLE AS on compressed hypertables, plus orphaned compressed chunks after DROP SCHEMA CASCADE. The rename of the granular refresh options to cagg_granular_refresh_* is the one change users may need to act on.

    View source ↗
  3. 1mo ago

    2.30.1: fixes duplicate rows from the new DeferredChunkAppend

    Follow-up fixes for 2.30.0's DeferredChunkAppend, which returned duplicate rows and failed casts under generic plans. This is the expected cleanup after a planner change like that one.

    View source ↗
  4. 1mo ago

    2.30.0: last-point LIMIT queries no longer scale with chunk count

    DeferredChunkAppend defers chunk expansion until execution, so a last-point LIMIT query found in the newest chunk runs in roughly constant time instead of scaling with the chunk count. It continues the recency-query work from 2.28 and 2.29 and has the largest effect on long-retention hypertables.

    View source ↗
  5. 2mo ago

    2.29.2: SkipScan and sparse-index wrong-result fixes

    This patch fixes wrong results in SkipScan and sparse-index pushdown on compressed data, including COUNT(DISTINCT) dropping uncompressed rows. It is correctness work on the optimizations the recent minors introduced.

    View source ↗
  6. 2mo ago

    2.29.1: security fixes for compressed-data handling

    A patch release with fixes for three security vulnerabilities, including decompressor crashes on malformed compressed data, which makes it a priority upgrade despite being a point release. It is the clearest sign yet that the compression format has become attack surface.

    View source ↗