Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented May 15, 2025

This PR contains the following updates:

Package Update Change
timescale/timescaledb minor 2.19.32.25.0

Release Notes

timescale/timescaledb (timescale/timescaledb)

v2.25.0

Compare Source

This release contains performance improvements and bug fixes since the 2.24.0 release. We recommend that you upgrade at the next available opportunity.

Highlighted features in TimescaleDB v2.25.0
This release features multiple improvements for continuous aggregates on the columnstore:

  • Faster refreshes: You can now utilize direct compress during materialized view refreshes, resulting in higher throughput and reduced I/O usage.
  • Efficiency: The enablement of delete optimizations significantly lowers system resource requirements.
  • Smaller transactions: Adjusted defaults for buckets_per_batch to 10 reduces transaction sizes, requiring less WAL holding time.
  • Faster queries: Smarter defaults for segmentby and orderby yield improved query performance and better compression ratio on the columnstore.

Sunsetting announcements

  • This release removes the WAL-based invalidation of continuous aggregates. This feature was introduced in 2.22.0 as tech preview to use logical decoding for building the invalidation logs. The feature was designed for high ingest workloads, reducing the write amplification. With the upcoming stream of improvements to continuous aggregates, this feature was deprioritized and removed.
  • The old continuous aggregate format, deprecated in version 2.10.0, has been fully removed from TimescaleDB in this release. Users still on the old format should read the migration documentation to migrate to the new format. Users of Tiger Cloud have already been automatically migrated.

Features

  • #​8777 Enable direct compress on continuous aggregate refresh using new GUC timescaledb.enable_direct_compress_on_cagg_refresh
  • #​9031 Change default buckets_per_batch on continuous aggregate refresh policy to 10
  • #​9032 Add in-memory recompression for unordered chunks
  • #​9017 Move bgw_job table into schema _timescaledb_catalog
  • #​9033 Add rebuild_columnstore procedure
  • #​9038 Change default configuration for compressed continuous aggregates
  • #​9042 Enable batch sorted merge on unordered compressed chunks
  • #​9046 Allow non timescaledb namespace SET option for continuous aggregates
  • #​9059 Allow configuring work_mem for background worker jobs
  • #​9074 Add function to estimate uncompressed size of compressed chunk
  • #​9085 Don't register timescaledb-tune specific GUCs
  • #​9088 Add ColumnarIndexScan custom node
  • #​9090 Support direct batch delete on hypertables with continuous aggregates
  • #​9094 Enable the columnar pipeline for grouping without aggregation to speed up the queries of the form select column from table group by column.
  • #​9103 Support FIRST and LAST in ColumnarIndexScan
  • #​9108 Support multiple aggregates in ColumnarIndexScan
  • #​9111 Allow recompression with orderby/index changes
  • #​9113 Use enable_columnarscan to control columnarscan
  • #​9127 Remove primary dimension constraints from fully covered chunks
  • #​8710 Add SQL function to fetch continuous aggregate grouping columns
  • #​9133 Allow pushing down sort into columnar unordered chunks when it is possible
  • #​8229 Removed time_bucket_ng function
  • #​8859 Remove support for partial continuous aggregate format
  • #​9022 Remove WAL based invalidation
  • #​9016 Remove _timescaledb_debug schema
  • #​9030 Add new chunks to hypertable publication

Bug fixes

  • #​8706 Fix planning performance regression on Postgres 16 and later on some join queries.
  • #​8986 Add pathkey replacement for ColumnarScanPath
  • #​8989 Ensure no XID is assigned during chunk query
  • #​8990 Fix EquivalenceClass index update for RelOptInfo
  • #​9007 Add validation for compression index key limits
  • #​9024 Recompress some chunks on VACUUM FULL
  • #​9045 Fix missing UUID check in compression policy
  • #​9056 Fix split chunk relfrozenxid
  • #​9058 Fix missing chunk column stats bug
  • #​9061 Fix update race with background worker jobs
  • #​9069 Fix applying multikey sort for columnstore when one numeric key is pinned to a Const of different type
  • #​9102 Support retention policies on UUIDv7-partitioned hypertables
  • #​9120 Fix for pre Postgres 17, where a DELETE from a partially compressed chunk may miss records if BitmapHeapScan is being used
  • #​9121 Allow any immutable constant expressions as default values for compressed columns
  • #​9121 Fix a potential "unexpected column type 'bool'" error for compressed bool columns with missing value
  • #​9144 Fix handling implicit constraints in ALTER TABLE
  • #​9155 Fix column generation during compressed chunk insert
  • #​9129 Fix time_bucket with timezone during DST
  • #​9177 Add alias for bgw_job
  • #​9176 Handle NULL values in continuous aggregate invalidation more gracefully
  • #​9175 Do not remove dimension constraints for OSM chunks

GUCs

  • enable_columnarindexscan: Enable returning results directly from compression metadata without decompression. This feature is experimental, and in development towards a GA release. Not for production environments. Default: false
  • enable_direct_compress_on_cagg_refresh: Enable experimental support for direct compression during Continuous Aggregate refresh. Default: false
  • enable_qual_filtering: Filter qualifiers on chunks when complete chunk would be included by filter. Default: true

Thanks

  • @​t-aistleitner for reporting the planning performance regression on PG16 and later on some join queries.
  • @​vahnrr for reporting a crash when adding columns and constraints to a hypertable at the same time
  • @​cracksalad and @​eyadmba for reporting a bug with timezone handling in time_bucket

v2.24.0

Compare Source

This release contains performance improvements and bug fixes since the 2.23.1 release. We recommend that you upgrade at the next available opportunity.

Highlighted features in TimescaleDB v2.24.0

  • Direct Compress just got smarter and faster: it now works seamlessly with hypertables generating continuous aggregates. Invalidation ranges are computed directly in-memory based on the ingested batches and written efficiently at transaction commit. This change reduces the IO footprint drastically by removing the write amplification of the invalidation logs.
  • Continuous aggregates now speak UUIDv7: hypertables partitioned by UUIDv7 are fully supported through an enhanced time_bucket that accepts UUIDv7 values and returns precise, timezone-aware timestamps — unlocking powerful time-series analytics on modern UUID-driven table schemas.
  • Lightning-fast recompression: the new recompress := true option on the convert_to_columnstore API enables pure in-memory recompression, delivering a 4–5× speed boost over the previous disk-based process.

ARM support for bloom filters
The sparse bloom filter indexes will stop working after upgrade to 2.24. If you are affected by this problem, the warning "bloom filter sparse indexes require action to re-enable" will appear in the Postgres log during upgrade.

In versions before 2.24, the hashing scheme of the bloom filter sparse indexes used to depend on the build options of the TimescaleDB executables. These options are set by the package publishers and might differ between different package sources or even versions. After upgrading to a version with different options, the queries that use the bloom filter lookups could erroneously stop returning the rows that should in fact match the query conditions. The 2.24 release fixes this by using distinct column names for each hashing scheme.

The bloom filter sparse indexes will be disabled on the compressed chunks created before upgrading to 2.24. To re-enable them, you have to decompress and then compress the affected chunks.

If you were running the official APT package on AMD64 architecture, the hashing scheme did not change, and it is safe to use the existing bloom filter sparse indexes. To enable this, set the GUC timescaledb.read_legacy_bloom1_v1 = on in the server configuration.

The chunks compressed after upgrade to 2.24 will use the new index format, and the bloom filter sparse indexes will continue working as usual for these chunks without any intervention.

For more details, refer to the pull request #​8761.

Deprecations

Backward-Incompatible Changes

  • #​8761 Fix matching rows in queries using the bloom filter sparse indexes potentially not returned after extension upgrade. The version of the bloom filter sparse indexes is changed. The existing indexes will stop working and will require action to re-enable. See the section above for details.

Features

  • #​8465 Speed up the filters like x = any(array[...]) using bloom filter sparse indexes.
  • #​8569 In-memory recompression
  • #​8754 Add concurrent mode for merging chunks
  • #​8786 Display chunks view range as timestamps for UUIDv7
  • #​8819 Refactor chunk compression logic
  • #​8840 Allow ALTER COLUMN TYPE when compression is enabled but no compressed chunks exist
  • #​8908 Add time bucketing support for UUIDv7
  • #​8909 Support direct compress on hypertables with continuous aggregates
  • #​8939 Support continuous aggregates on UUIDv7-partitioned hypertables
  • #​8959 Cap continuous aggregate invalidation interval range at chunk boundary
  • #​8975 Exclude date/time columns from default segmentby
  • #​8993 Add GUC for in-memory recompression

Bugfixes

  • #​8839 Improve _timescaledb_functions.cagg_watermark error handling
  • #​8853 Change log level of continuous aggregate refresh messages to DEBUG1
  • #​8933 Potential crash or seemingly random errors when querying the compressed chunks created on releases before 2.15 and using the minmax sparse indexes.
  • #​8942 Fix lateral join handling for compressed chunks
  • #​8958 Fix if_not_exists behaviour when adding refresh policy
  • #​8969 Gracefully handle missing job stat in background worker
  • #​8988 Don't ignore additional filters on same column when building scankeys

GUCs

  • direct_compress_copy_tuple_sort_limit: Number of tuples that can be sorted at once in a COPY operation.
  • direct_compress_insert_tuple_sort_limit: Number of tuples that can be sorted at once in an INSERT operation.
  • read_legacy_bloom1_v1: Enable reading the legacy bloom1 version 1 sparse indexes for SELECT queries.
  • enable_in_memory_recompression: Enable in-memory recompression functionality.

Thanks

  • @​bezpechno for implementing ALTER COLUMN TYPE for hypertable with columnstore when no compressed chunks exist

v2.23.1

Compare Source

This release contains performance improvements and bug fixes since the 2.23.0 release. We recommend that you upgrade at the next available opportunity.

Bugfixes

  • #​8873 Don't error on failure to update job stats
  • #​8875 Fix decoding of UUID v7 timestamp microseconds
  • #​8879 Fix blocker for multiple hierarchical continuous aggregate policies
  • #​8882 Fix crash in policy creation

Thanks

v2.23.0

Compare Source

This release contains performance improvements and bug fixes since the 2.22.1 release. We recommend that you upgrade at the next available opportunity.

Highlighted features in TimescaleDB v2.23.0

  • This release introduces full PostgreSQL 18 support for all existing features. TimescaleDB v2.23 is available for PostgreSQL 15, 16, 17, and 18.
  • UUIDv7 compression is now enabled by default on the columnstore. This feature was shipped in v2.22.0. It saves you at least 30% of storage and delivers ~2× faster query performance with UUIDv7 columns in the filter conditions.
  • Added the ability to set hypertables to unlogged, addressing an open community request #​836. This allows the tradeoff between durability and performance, with the latter being favourable for larger imports.
  • By allowing set-returning functions in continuous aggregates, this releases addresses a long standing blocker, raised by the community #​1717.

PostgreSQL 15 deprecation announcement

We will continue supporting PostgreSQL 15 until June 2026. Closer to that time, we will announce the specific TimescaleDB version in which PostgreSQL 15 support will not be included going forward.

Features

  • #​8373 More precise estimates of row numbers for columnar storage based on Postgres statistics.
  • #​8581 Allow mixing Postgres and TimescaleDB options in ALTER TABLE SET.
  • #​8582 Make partition_column in CREATE TABLE WITH optional.
  • #​8588 Automatically create a columnstore policy when a hypertable with columnstore enabled is created via CREATE TABLE WITH statement.
  • #​8606 Add job history config parameters for maximum successes and failures to keep for each job.
  • #​8632 Remove ChunkDispatch custom node.
  • #​8637 Add INSERT support for direct compress.
  • #​8661 Allow ALTER TABLE ONLY to change reloptions to apply setting changes only to future chunks.
  • #​8703 Allow set-returning functions in continuous aggregates.
  • #​8734 Support direct compress when inserting into a chunk.
  • #​8741 Add support for unlogged hypertables.
  • #​8769 Remove continuous aggregate invalidation trigger.
  • #​8798 Enable UUIDv7 compression by default.
  • #​8804 Remove insert_blocker trigger.

Bugfixes

  • #​8561 Show warning when direct compress is skipped due to triggers or unique constraints.
  • #​8567 Do not require a job to have executed to show status.
  • #​8654 Fix approximate_row_count for compressed chunks.
  • #​8704 Fix direct DELETE on compressed chunk.
  • #​8728 Don't block dropping hypertables with other objects.
  • #​8735 Fix ColumnarScan for UNION queries.
  • #​8739 Fix cached utility statements.
  • #​8742 Potential internal program error when grouping by bool columns of a compressed hypertable.
  • #​8743 Modify schedule interval for job history pruning.
  • #​8746 Support show/drop chunks with UUIDv7 partitioning.
  • #​8753 Allow sorts over decompressed index scans for ChunkAppend.
  • #​8758 Improve error message on catalog version mismatch.
  • #​8774 Add GUC for WAL based invalidation of continuous aggregates.
  • #​8782 Stops sparse index from allowing multiple options.
  • #​8799 Set next_start for WITH clause compression policy.
  • #​8807 Only warn but not fail the compression if bloom filter indexes are configured but disabled with a GUC.

GUCs

  • cagg_processing_wal_batch_size: Batch size when processing WAL entries.
  • enable_cagg_wal_based_invalidation: Enable experimental invalidations for continuous aggregates using WAL.
  • enable_direct_compress_insert: Enable direct compression during INSERT.
  • enable_direct_compress_insert_client_sorted: Enable direct compress INSERT with presorted data.
  • enable_direct_compress_insert_sort_batches: Enable batch sorting during direct compress INSERT.

Thanks

  • @​brandonpurcell-dev For highlighting issues with show_chunks() and UUIDv7 partitioning
  • @​moodgorning for reporting an issue with the timescaledb_information.job_stats view
  • @​ruideyllot for reporting set-returning functions not working in continuous aggregates
  • @​t-aistleitner for reporting an issue with utility statements in plpgsql functions

v2.22.1

Compare Source

This release contains performance improvements and bug fixes since the 2.22.0 release. We recommend that you upgrade at the next available opportunity.

This release blocks the ability to leverage concurrent refresh policies in hierarchical continuous aggregates, as potential deadlocks can occur.
Concurrent refresh policies were introduced in 2.21.0 and allow users to define multiple time ranges, to refresh, e.g. data from the last hour in policy and the last day in a second policy.
If you are using this feature with hierarchical continuous aggregates, please remove the existing policies and create a new policy for the full range you want to refresh, of the continuous aggregate as follows:

--- Find the job ID's of the concurrent refresh policies
SELECT * FROM timescaledb_information.jobs WHERE proc_name = 'policy_refresh_continuous_aggregate';
--- Remove the job
SELECT delete_job("<job_id_of_concurrent_policy>");
--- Create new policy for hierarchical continuous aggregate
SELECT add_continuous_aggregate_policy('<name_of_materialized_view>',
  start_offset => INTERVAL '1 month',
  end_offset => INTERVAL '1 day',
  schedule_interval => INTERVAL '1 hour');

Bugfixes

  • #​7766 Load the OSM extension in the retention background worker to drop tiered chunks
  • #​8550 Error in gapfill with expressions over aggregates, groupby columns, and out-of-order columns
  • #​8593 Error on change of invalidation method for continuous aggregate
  • #​8599 Fix the attnum mismatch bug in chunk constraint checks
  • #​8607 Fix the interrupted continous aggregate refresh materialization phase that leaves behind pending materialization ranges
  • #​8638 ALTER TABLE RESET for orderby settings
  • #​8644 Fix the migration script for sparse index configuration
  • #​8657 Fix CREATE TABLE WITH when using UUIDv7 partitioning
  • #​8659 ALTER TABLE commands to foreign data wrapper chunks not propogated.
  • #​8693 Compressed index not chosen for varchar typed segmentby columns
  • #​8707 Block concurrent refresh policies for hierarchical continous aggregate due to potential deadlocks

Thanks

  • @​MKrkkl for reporting a bug in gapfill queries with expressions over aggregates and groupby columns
  • @​brandonpurcell-dev for creating a test case that showed a bug in CREATE TABLE WITH when using UUIDv7 partitioning
  • @​snyrkill for reporting a bug when interrupting a continous aggregate refresh

v2.22.0

Compare Source

This release contains performance improvements and bug fixes since the 2.22.1 release. We recommend that you upgrade at the next available opportunity.

Highlighted features in TimescaleDB v2.23.0

  • This release introduces full PostgreSQL 18 support for all existing features. TimescaleDB v2.23 is available for PostgreSQL 15, 16, 17, and 18.
  • UUIDv7 compression is now enabled by default on the columnstore. This feature was shipped in v2.22.0. It saves you at least 30% of storage and delivers ~2× faster query performance with UUIDv7 columns in the filter conditions.
  • Added the ability to set hypertables to unlogged, addressing an open community request #​836. This allows the tradeoff between durability and performance, with the latter being favourable for larger imports.
  • By allowing set-returning functions in continuous aggregates, this releases addresses a long standing blocker, raised by the community #​1717.

PostgreSQL 15 deprecation announcement

We will continue supporting PostgreSQL 15 until June 2026. Closer to that time, we will announce the specific TimescaleDB version in which PostgreSQL 15 support will not be included going forward.

Features

  • #​8373 More precise estimates of row numbers for columnar storage based on Postgres statistics.
  • #​8581 Allow mixing Postgres and TimescaleDB options in ALTER TABLE SET.
  • #​8582 Make partition_column in CREATE TABLE WITH optional.
  • #​8588 Automatically create a columnstore policy when a hypertable with columnstore enabled is created via CREATE TABLE WITH statement.
  • #​8606 Add job history config parameters for maximum successes and failures to keep for each job.
  • #​8632 Remove ChunkDispatch custom node.
  • #​8637 Add INSERT support for direct compress.
  • #​8661 Allow ALTER TABLE ONLY to change reloptions to apply setting changes only to future chunks.
  • #​8703 Allow set-returning functions in continuous aggregates.
  • #​8734 Support direct compress when inserting into a chunk.
  • #​8741 Add support for unlogged hypertables.
  • #​8769 Remove continuous aggregate invalidation trigger.
  • #​8798 Enable UUIDv7 compression by default.
  • #​8804 Remove insert_blocker trigger.

Bugfixes

  • #​8561 Show warning when direct compress is skipped due to triggers or unique constraints.
  • #​8567 Do not require a job to have executed to show status.
  • #​8654 Fix approximate_row_count for compressed chunks.
  • #​8704 Fix direct DELETE on compressed chunk.
  • #​8728 Don't block dropping hypertables with other objects.
  • #​8735 Fix ColumnarScan for UNION queries.
  • #​8739 Fix cached utility statements.
  • #​8742 Potential internal program error when grouping by bool columns of a compressed hypertable.
  • #​8743 Modify schedule interval for job history pruning.
  • #​8746 Support show/drop chunks with UUIDv7 partitioning.
  • #​8753 Allow sorts over decompressed index scans for ChunkAppend.
  • #​8758 Improve error message on catalog version mismatch.
  • #​8774 Add GUC for WAL based invalidation of continuous aggregates.
  • #​8782 Stops sparse index from allowing multiple options.
  • #​8799 Set next_start for WITH clause compression policy.
  • #​8807 Only warn but not fail the compression if bloom filter indexes are configured but disabled with a GUC.

GUCs

  • cagg_processing_wal_batch_size: Batch size when processing WAL entries.
  • enable_cagg_wal_based_invalidation: Enable experimental invalidations for continuous aggregates using WAL.
  • enable_direct_compress_insert: Enable direct compression during INSERT.
  • enable_direct_compress_insert_client_sorted: Enable direct compress INSERT with presorted data.
  • enable_direct_compress_insert_sort_batches: Enable batch sorting during direct compress INSERT.

Thanks

  • @​brandonpurcell-dev For highlighting issues with show_chunks() and UUIDv7 partitioning
  • @​moodgorning for reporting an issue with the timescaledb_information.job_stats view
  • @​ruideyllot for reporting set-returning functions not working in continuous aggregates
  • @​t-aistleitner for reporting an issue with utility statements in plpgsql functions

v2.21.4

Compare Source

This release contains performance improvements and bug fixes since the 2.21.3 release. We recommend that you upgrade at the next available opportunity.

Bugfixes

  • #​8667 Fix wrong selectivity estimates uncovered by the recent Postgres minor releases 15.14, 16.10, 17.6.

v2.21.3

Compare Source

This release contains performance improvements and bug fixes since the 2.21.2 release. We recommend that you upgrade at the next available opportunity.

Bugfixes

  • #​8471 Fix MERGE behaviour with updated values

v2.21.2

Compare Source

This release contains performance improvements and bug fixes since the 2.21.1 release. We recommend that you upgrade at the next available opportunity.

Bugfixes

  • #​8418 Fix duplicate constraints in JOIN queries
  • #​8426 Fix chunk skipping min/max calculation
  • #​8434 Allow show_chunks to process more than 65535 chunks

v2.21.1

Compare Source

This release contains one bug fix since the 2.21.0 release. We recommend that you upgrade at the next available opportunity.

Bugfixes

  • #​8336 Fix generic plans for foreign key checks and prepared statements

Thanks

  • @​CodeTherapist for reporting the issue with foreign key checks not working after several INSERT statements

v2.21.0

Compare Source

This release contains performance improvements and bug fixes since the 2.22.0 release. We recommend that you upgrade at the next available opportunity.

This release blocks the ability to leverage concurrent refresh policies in hierarchical continuous aggregates, as potential deadlocks can occur.
Concurrent refresh policies were introduced in 2.21.0 and allow users to define multiple time ranges, to refresh, e.g. data from the last hour in policy and the last day in a second policy.
If you are using this feature with hierarchical continuous aggregates, please remove the existing policies and create a new policy for the full range you want to refresh, of the continuous aggregate as follows:

--- Find the job ID's of the concurrent refresh policies
SELECT * FROM timescaledb_information.jobs WHERE proc_name = 'policy_refresh_continuous_aggregate';
--- Remove the job
SELECT delete_job("<job_id_of_concurrent_policy>");
--- Create new policy for hierarchical continuous aggregate
SELECT add_continuous_aggregate_policy('<name_of_materialized_view>',
  start_offset => INTERVAL '1 month',
  end_offset => INTERVAL '1 day',
  schedule_interval => INTERVAL '1 hour');

Bugfixes

  • #​7766 Load the OSM extension in the retention background worker to drop tiered chunks
  • #​8550 Error in gapfill with expressions over aggregates, groupby columns, and out-of-order columns
  • #​8593 Error on change of invalidation method for continuous aggregate
  • #​8599 Fix the attnum mismatch bug in chunk constraint checks
  • #​8607 Fix the interrupted continous aggregate refresh materialization phase that leaves behind pending materialization ranges
  • #​8638 ALTER TABLE RESET for orderby settings
  • #​8644 Fix the migration script for sparse index configuration
  • #​8657 Fix CREATE TABLE WITH when using UUIDv7 partitioning
  • #​8659 ALTER TABLE commands to foreign data wrapper chunks not propogated.
  • #​8693 Compressed index not chosen for varchar typed segmentby columns
  • #​8707 Block concurrent refresh policies for hierarchical continous aggregate due to potential deadlocks

Thanks

  • @​MKrkkl for reporting a bug in gapfill queries with expressions over aggregates and groupby columns
  • @​brandonpurcell-dev for creating a test case that showed a bug in CREATE TABLE WITH when using UUIDv7 partitioning
  • @​snyrkill for reporting a bug when interrupting a continous aggregate refresh

v2.20.3

Compare Source

This release contains bug fixes since the 2.20.2 release. We recommend that you upgrade at the next available opportunity.

Bugfixes

  • #​8107 Adjust SkipScan cost for quals needing full scan of indexed data.
  • #​8211 Fixed dump and restore when chunk skipping is enabled.
  • #​8216 Fix for dropped quals bug in SkipScan.
  • #​8230 Fix for inserting into compressed data when vectorised check is not available.
  • #​8236 Fixed the snapshot handling in background workers.

Thanks

  • @​ikaakkola for reporting that SkipScan is slow when non-index quals do not match any tuples.

v2.20.2

Compare Source

This release contains bug fixes since the 2.20.1 release. We recommend that you upgrade at the next available opportunity.

Bugfixes

  • #​8200 Fix NULL compression handling for vectorized constraint checking

v2.20.1

Compare Source

This release contains performance improvements and bug fixes since the 2.20.0 release. We recommend that you upgrade at the next available opportunity.

Features

  • #​8145 Log only if compression ratio warnings are enabled

Bugfixes

  • #​7292 Intermittent "could not find pathkey item to sort" error when grouping or ordering by a time_bucket of an equality join variable.
  • #​8126 Allow setting bgw_log_level to FATAL and ERROR
  • #​8151 Treat null equal to null for merged CAgg refresh
  • #​8153 Restoring a database having NULL compressed data
  • #​8162 Fix setting compress_chunk_interval on continuous aggregates
  • #​8163 Fix gapfill crash with locf NULL values treated as missing
  • #​8171 Disable decompression limit during continuous aggregate refresh

Thanks

v2.20.0

Compare Source

This release contains performance improvements and bug fixes since the 2.22.0 release. We recommend that you upgrade at the next available opportunity.

This release blocks the ability to leverage concurrent refresh policies in hierarchical continuous aggregates, as potential deadlocks can occur.
Concurrent refresh policies were introduced in 2.21.0 and allow users to define multiple time ranges, to refresh, e.g. data from the last hour in policy and the last day in a second policy.
If you are using this feature with hierarchical continuous aggregates, please remove the existing policies and create a new policy for the full range you want to refresh, of the continuous aggregate as follows:

--- Find the job ID's of the concurrent refresh policies
SELECT * FROM timescaledb_information.jobs WHERE proc_name = 'policy_refresh_continuous_aggregate';
--- Remove the job
SELECT delete_job("<job_id_of_concurrent_policy>");
--- Create new policy for hierarchical continuous aggregate
SELECT add_continuous_aggregate_policy('<name_of_materialized_view>',
  start_offset => INTERVAL '1 month',
  end_offset => INTERVAL '1 day',
  schedule_interval => INTERVAL '1 hour');

Bugfixes

  • #​7766 Load the OSM extension in the retention background worker to drop tiered chunks
  • #​8550 Error in gapfill with expressions over aggregates, groupby columns, and out-of-order columns
  • #​8593 Error on change of invalidation method for continuous aggregate
  • #​8599 Fix the attnum mismatch bug in chunk constraint checks
  • #​8607 Fix the interrupted continous aggregate refresh materialization phase that leaves behind pending materialization ranges
  • #​8638 ALTER TABLE RESET for orderby settings
  • #​8644 Fix the migration script for sparse index configuration
  • #​8657 Fix CREATE TABLE WITH when using UUIDv7 partitioning
  • #​8659 ALTER TABLE commands to foreign data wrapper chunks not propogated.
  • #​8693 Compressed index not chosen for varchar typed segmentby columns
  • #​8707 Block concurrent refresh policies for hierarchical continous aggregate due to potential deadlocks

Thanks

  • @​MKrkkl for reporting a bug in gapfill queries with expressions over aggregates and groupby columns
  • @​brandonpurcell-dev for creating a test case that showed a bug in CREATE TABLE WITH when using UUIDv7 partitioning
  • @​snyrkill for reporting a bug when interrupting a continous aggregate refresh

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from a team as a code owner May 15, 2025 15:23
@renovate renovate bot enabled auto-merge (squash) May 15, 2025 15:23
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch 3 times, most recently from 3077e07 to 41c6af3 Compare May 27, 2025 16:00
@renovate renovate bot changed the title chore(deps): update dependency timescale/timescaledb to v2.20.0 chore(deps): update dependency timescale/timescaledb to v2.20.1 May 27, 2025
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch 3 times, most recently from aca7c5d to 38d3756 Compare June 2, 2025 16:24
@renovate renovate bot changed the title chore(deps): update dependency timescale/timescaledb to v2.20.1 chore(deps): update dependency timescale/timescaledb to v2.20.2 Jun 2, 2025
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch 2 times, most recently from 1d33a8d to d7168be Compare June 11, 2025 15:44
@renovate renovate bot changed the title chore(deps): update dependency timescale/timescaledb to v2.20.2 chore(deps): update dependency timescale/timescaledb to v2.20.3 Jun 11, 2025
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch 5 times, most recently from 1777b72 to 0daec5b Compare June 19, 2025 00:53
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch 2 times, most recently from 6772d81 to 3deb82a Compare June 30, 2025 14:47
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch 3 times, most recently from a472898 to 97e4908 Compare July 8, 2025 15:36
@renovate renovate bot changed the title chore(deps): update dependency timescale/timescaledb to v2.20.3 chore(deps): update dependency timescale/timescaledb to v2.21.0 Jul 8, 2025
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch from c1bed9e to a294a2d Compare August 12, 2025 08:55
@renovate renovate bot changed the title chore(deps): update dependency timescale/timescaledb to v2.21.2 chore(deps): update dependency timescale/timescaledb to v2.21.3 Aug 12, 2025
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch from a294a2d to 329bbe6 Compare September 2, 2025 14:06
@renovate renovate bot changed the title chore(deps): update dependency timescale/timescaledb to v2.21.3 chore(deps): update dependency timescale/timescaledb to v2.22.0 Sep 2, 2025
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch from 329bbe6 to 2c223c4 Compare September 4, 2025 04:38
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch 2 times, most recently from b4866bc to 036ca64 Compare September 30, 2025 11:45
@renovate renovate bot changed the title chore(deps): update dependency timescale/timescaledb to v2.22.0 chore(deps): update dependency timescale/timescaledb to v2.22.1 Sep 30, 2025
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch from 036ca64 to e661092 Compare October 2, 2025 02:49
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch from e661092 to 246328e Compare October 29, 2025 09:03
@renovate renovate bot changed the title chore(deps): update dependency timescale/timescaledb to v2.22.1 chore(deps): update dependency timescale/timescaledb to v2.23.0 Oct 29, 2025
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch 2 times, most recently from 1b4fc27 to 289adb1 Compare November 5, 2025 23:48
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch 2 times, most recently from b9e1071 to fbfee3c Compare November 13, 2025 17:36
@renovate renovate bot changed the title chore(deps): update dependency timescale/timescaledb to v2.23.0 chore(deps): update dependency timescale/timescaledb to v2.23.1 Nov 13, 2025
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch 2 times, most recently from 54402fb to 93ac355 Compare November 20, 2025 22:55
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch 3 times, most recently from 0a89071 to 0fd0f0b Compare December 3, 2025 11:42
@renovate renovate bot changed the title chore(deps): update dependency timescale/timescaledb to v2.23.1 chore(deps): update dependency timescale/timescaledb to v2.24.0 Dec 3, 2025
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch from 0fd0f0b to d3c79f4 Compare December 19, 2025 16:05
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch 3 times, most recently from 853e0ad to 67631ac Compare January 28, 2026 22:53
@renovate renovate bot force-pushed the renovate/timescale-timescaledb-2.x branch from 67631ac to 39bbcb7 Compare January 29, 2026 11:00
@renovate renovate bot changed the title chore(deps): update dependency timescale/timescaledb to v2.24.0 chore(deps): update dependency timescale/timescaledb to v2.25.0 Jan 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants