What timescale/timescaledb shipped
Written by FoxPlug from public releases; not affiliated with Tigerdata. An automatic summary of the public release, pull request and commit data of github.com/timescale/timescaledb. Tigerdata did not write it and does not use or endorse FoxPlug. Every line links to the public change it describes.
Get a weekly update like this for your product, free
Week of September 21, 2026
What shipped
- Added move_to_columnstore() function that converts chunks to columnstore with ShareUpdateExclusiveLock instead of ExclusiveLock, allowing concurrent INSERT, UPDATE, and DELETE operations during conversion. Pull request #10632
- Fixed DROP SCHEMA CASCADE to properly drop compressed chunks by mapping already-dropped relation IDs using compression settings. Pull request #10668
- Fixed SkipScan planner to use distinct Pathkeys instead of distinct expressions when processing equivalent skip keys on chunks. Pull request #10454
- Fixed first and last aggregates to use the btree sort operator from the type's default operator class instead of resolving by name. Pull request #10635
- Optimized tenant tracking by resolving the tracking column once per transaction instead of per chunk. Pull request #10609
- Fixed granular refresh by deleting stale tenant trackings when re-enabling the feature to prevent conflicts from previous configurations. Pull request #10615
- Fixed recompression and compaction operations to preserve DML statistics instead of overwriting them. Pull request #10628
- Improved error reporting when concurrent DML operations encounter chunks being converted to columnstore. Pull request #10639
- Improved chunkwise aggregation by adding hashed execution paths before sorted paths to allow GUC-based plan control. Pull request #10605
- Removed PostgreSQL 17.2 merge workaround and set minimum supported PostgreSQL 17 version to 17.3. Pull request #10669
Why it matters
This week includes improvements to columnstore operations that reduce blocking during chunk conversion, fixes for schema dropping with compressed chunks, and optimizations to planning and aggregation. Query planning and execution are more robust with fixes to SkipScan, aggregate operators, and aggregation strategies.
Changelog entry
- Added move_to_columnstore() function for incremental columnstore conversion with reduced lock contention Pull request #10632
- Fixed DROP SCHEMA CASCADE to drop compressed chunks Pull request #10668
- Fixed SkipScan planner equivalent skip keys processing Pull request #10454
- Fixed first and last aggregates to use btree sort operator from default operator class Pull request #10635
- Optimized tenant tracking column resolution to once per transaction Pull request #10609
- Fixed granular refresh by removing stale tenant trackings on re-enable Pull request #10615
- Fixed compression operations to preserve DML statistics Pull request #10628
- Improved error reporting for concurrent DML during columnstore conversion Pull request #10639
- Improved chunkwise aggregation path ordering for better GUC control Pull request #10605
This week: move_to_columnstore() now converts chunks without blocking concurrent DML, DROP SCHEMA CASCADE properly handles compressed chunks, and SkipScan planner improvements.
Week of improvements to columnstore and query planning. The new move_to_columnstore() function converts chunks while allowing concurrent INSERT/UPDATE/DELETE. Schema dropping now correctly handles compressed chunks. SkipScan planner uses Pathkeys for better coverage. First/last aggregates now use correct sort operators. Tenant tracking optimization reduces per-transaction overhead.
Week of September 14, 2026
What shipped
- Released 2.30.1 with bug fixes including corrections for INSERT ... ON CONFLICT with multiple unique constraints, NULL conflict resolution in bloom filtering, and DeferredChunkAppend issues. Release
- Fixed query planning where explicit casts on segmentby columns prevented join conditions from being pushed down to compressed chunk indexes, causing full chunk scans. Pull request #10617
- Fixed duplicate rows returned by DeferredChunkAppend when LIMIT is non-constant and cannot be pushed to per-chunk queries, such as with parameterized prepared statements. Pull request #10592
- Implemented endian-independent pack/unpack in FastLanes to ensure consistent integer compression encoding across platforms regardless of system architecture. Pull request #10621
- Added explicit flag requirement timescaledb.cagg_enable_granular_refresh that must be set to TRUE to enable granular tracking on hypertables along with valid offset specifications. Pull request #10610
- Blocked ALTER and DROP operations on hypertable columns used for granular refresh tracking to prevent unintended schema modifications. Pull request #10512
- Enabled changing granular start and end offset settings on hypertables that previously had granular tracking enabled. Pull request #10588
- Refactored FastLanes with inlined sizing functions as a precursor to the integer compressor, improving measurable performance. Pull request #10620
- Hardened DeferredChunkAppend to handle float output rounding based on
extra_float_digitssetting during WHERE clause deparse and parse cycles. Pull request #10616 - Completed internal naming updates from DeferredChunkScan to DeferredChunkAppend across remaining functions. Pull request #10622
Why it matters
Version 2.30.1 addresses critical query planning issues with compressed chunks and parameterized queries that affect data retrieval accuracy and performance. The granular refresh enhancements add safety controls and flexibility for continuous aggregate configurations. These fixes improve reliability for both query execution and schema management in production deployments.
Changelog entry
- Fix: Explicit casts on segmentby columns now properly recognized in join condition pushdown to compressed chunk indexes (#10617) Pull request #10617
- Fix: Prevent duplicate rows in DeferredChunkAppend when LIMIT is non-constant, such as in parameterized prepared statements (#10592) Pull request #10592
- Fix: Handle float output rounding in DeferredChunkAppend WHERE clause deparse based on
extra_float_digitssetting (#10616) Pull request #10616 - Fix: Skip DeferredChunkAppend for pseudotype constants to ensure WHERE clause survives deparse/parse round trip (#10593) Pull request #10593
- Improvement: FastLanes pack/unpack now uses endian-independent encoding for integer compression (#10622) Pull request #10621
- Improvement: Inlined FastLanes sizing functions for measurable performance improvement (#10604) Pull request #10620
- Improvement: Require explicit flag timescaledb.cagg_enable_granular_refresh to enable granular tracking on hypertables (#10610) Pull request #10610
- Improvement: Block ALTER/DROP operations on granular refresh tracking columns (#10512) Pull request #10512
- Improvement: Allow changing granular start and end offsets on hypertables with existing granular tracking (#10588) Pull request #10588
2.30.1 shipped with fixes for compressed chunk query planning, duplicate rows in parameterized LIMIT queries, and safer granular refresh controls for continuous aggregates.
TimescaleDB 2.30.1 is now available. This release addresses critical issues including query planning with explicit casts on compressed chunks, duplicate row handling in parameterized queries, and enhanced safety for granular refresh configurations. Additional improvements include endian-independent compression encoding and expanded flexibility for adjusting granular offset settings on hypertables.