chore(deps): update dependency timescale/timescaledb to v2.28.0#102
Open
renovate[bot] wants to merge 1 commit into
Open
chore(deps): update dependency timescale/timescaledb to v2.28.0#102renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
3077e07 to
41c6af3
Compare
aca7c5d to
38d3756
Compare
1d33a8d to
d7168be
Compare
1777b72 to
0daec5b
Compare
6772d81 to
3deb82a
Compare
a472898 to
97e4908
Compare
c1bed9e to
a294a2d
Compare
a294a2d to
329bbe6
Compare
329bbe6 to
2c223c4
Compare
b4866bc to
036ca64
Compare
036ca64 to
e661092
Compare
e661092 to
246328e
Compare
1b4fc27 to
289adb1
Compare
b9e1071 to
fbfee3c
Compare
54402fb to
93ac355
Compare
0a89071 to
0fd0f0b
Compare
0fd0f0b to
d3c79f4
Compare
d3c79f4 to
38dcfba
Compare
| env: | ||
| # renovate datasource=github-releases depName=timescale/timescaledb | ||
| TIMESCALE_VERSION: 2.19.3 | ||
| TIMESCALE_VERSION: 2.25.2 |
There was a problem hiding this comment.
Bug: The build matrix includes PostgreSQL 14, but the updated TimescaleDB version 2.25.2 is incompatible, which will cause the build to fail.
Severity: CRITICAL
Suggested Fix
Either remove PostgreSQL 14 from the build matrix in .github/workflows/build.yaml or, for the PostgreSQL 14 job, pin the TIMESCALE_VERSION to a compatible version like 2.19.3.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: .github/workflows/build.yaml#L7
Potential issue: The GitHub Actions workflow in `.github/workflows/build.yaml` includes
PostgreSQL 14 in its build matrix. The pull request updates TimescaleDB to version
`2.25.2`, which is incompatible with PostgreSQL 14, as support was dropped after
TimescaleDB version `2.19.3`. During the build process, the Dockerfile attempts to
install the package `timescaledb-2-postgresql-14=2.25.2~debian*`, which does not exist
in the package repository. This will result in a "package not found" error, causing the
build to fail for the PostgreSQL 14 matrix entry.
Did we get this right? 👍 / 👎 to inform future reviews.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.19.3→2.28.0Release Notes
timescale/timescaledb (timescale/timescaledb)
v2.28.0Compare Source
This release contains performance improvements and bug fixes since the 2.27.2 release. We recommend that you upgrade at the next available opportunity.
Highlighted features in TimescaleDB v2.28.0
first()andlast()queries on compressed data. TimescaleDB derivesfirst(value, time)andlast(value, time)aggregates straight from the columnstore's batch metadata, skipping batch decompression entirely. For the "latest reading per series" lookups that time-series workloads run constantly, that means meaningfully faster recency queries with no changes to your SQL queries.refresh_continuous_aggregate()can now run incrementally in batches — the same behavior refresh policies already use — enabling breaking large manual refreshes into smaller chunks (tunable viabuckets_per_batch,max_batches_per_execution, andrefresh_newest_first) instead of one heavy operation. Refreshes also now take a lighter lock while processing the invalidation log, so they no longer block unrelated concurrent operations on the same continuous aggregate, improving behavior for concurrent workloads.CASEexpressions. TimescaleDB's columnar executor can now evaluateCASE ... WHENexpressions directly on compressed data, so queries using conditional logic stay on the fast vectorized path instead of falling back to slower row-by-row decompression. This speeds up a common pattern — conditional aggregations and computed columns over compressed history — with no query changes needed.ALTER MATERIALIZED VIEW <cagg> ADD COLUMN <name> <type> GENERATED ALWAYS AS (<aggregate>) STOREDto add a new computed aggregate to an existing continuous aggregate in place — no more dropping and recreating the whole aggregate just to track one more metric. New data populates the column going forward, letting your rollups evolve alongside your application. (Existing rows start asNULL; a forced refresh backfills them when you need historical values.)Deprecation Notice: PostgreSQL 15 Support
This release marks the final minor version of TimescaleDB that will support PostgreSQL 15. Starting with our next release, version 2.29.0, we will officially drop support for Postgres 15, and only support Postgres 16, 17, and 18; however, all future patch releases within the current 2.28 version cycle will continue to fully support it. We recommend planning your PostgreSQL upgrades accordingly to ensure a smooth transition.
Deprecation Notice:
chunk_constraintCatalog TablePlease note that the
_timescaledb_catalog.chunk_constrainttable has been dropped and temporarily replaced by a view, which introduces a change to the underlying objects while maintaining current query behavior. However, this compatibility view will be completely removed in a future release. To ensure your queries remain compatible moving forward, we strongly advise transitioning to the stable contracts provided by our informational views.Backward-Incompatible Changes
Features
ANALYZEandVACUUMon continuous aggregates by redirecting to the underlying materialization hypertableSELECTqueries over compressed hypertables to approximately match the uncompressed data sizehypertableandchunkas user catalog tablesCASEexpression in columnar aggregation and groupingfirst/lastsparse indexes to compressionfirst/lastsparse index fororderbymetadata on new compressed chunksGapFillrow count estimateADD COLUMNon continuous aggregateschunk_constraintcatalog tracking for foreign keyschunk_constraintcatalog tracking for non-dimensional constraintsrefresh_continuous_aggregate()_timescaledb_catalog.chunk_constrainttablerebuild_sparse_indexfunctionfirst/last(value, time)inColumnarIndexScanBugfixes
timestamptzvalueCOPY WHEREinto a hypertable with dropped columnsColumnarScanALTER TABLE ... INHERITwhen the parent is a hypertableNOT VALID NOT NULLconstraint for query optimizationMERGE WHEN NOT MATCHED BY SOURCEon hypertablestime_bucket_gapfillfunction detectionapproximate_row_counthandling of InfinityPG_INT64_MAXNew Settings
skip_cagg_invalidation: skip continuous aggregate invalidation tracking for DML and DDL in the current session/transaction. Off by default.stats_max_chunks: set the per-database compressed chunk statistics cache capacity. Defaults to 1024 chunks; set to 0 to disable the feature.Thanks
v2.27.2Compare Source
This release contains bug fixes since the 2.27.1 release. We recommend that you upgrade at the next available opportunity.
Bugfixes
SELECTlist with vectorized aggregation or columnar index scanColumnarIndexScanwhen the qual contains a SubPlanv2.27.1Compare Source
This release contains performance improvements and bug fixes since the 2.27.0 release. We recommend that you upgrade at the next available opportunity.
Bugfixes
compression_settingsbefore migrating catalog tablejob_errorsview leaking failed jobs to non-ownerspolicy_reorder_removeColumnarIndexScanfor GROUPING SETS / ROLLUP / CUBEThanks
v2.27.0Compare Source
This release contains performance improvements and bug fixes since the 2.26.4 release. We recommend that you upgrade at the next available opportunity.
Highlighted features in TimescaleDB v2.27.0
UPDATEandDELETEstatements with equality predicates can now use bloom filters to skip decompressing batches whose compressed rows can't match. When multiple bloom filters apply, they are evaluated in decreasing order of column count (most selective first), and EXPLAIN now reports filtering activity via the new "Compressed batches filtered" and "Batches filtered after decompression counters". The query performance increases in some case up to 160 times.UPSERTqueries can now leverage bloom filters (including composite ones) to skip decompressing batches when the arbiter values are guaranteed not to be present, with the most-selective filter chosen automatically when multiple apply. EXPLAIN output adds new statistics — batches checked by bloom, batches pruned by bloom, batches without bloom, and bloom false positives — for visibility into pruning effectiveness.Upcoming PostgreSQL 15 EOL announcement
As a reminder, the upcoming TimescaleDB release in June 2026 will officially be the last version with support for PostgreSQL 15. This deprecation was initially announced in the v2.23.0 changelog on October 29, 2025, to provide users ample time to prepare. To ensure uninterrupted access to new features, bugfixes and performance enhancements, all instances must be upgraded to PostgreSQL 16 or greater.
Backward-Incompatible Changes
int2columns could lead toSELECTqueries not returning the rows that actually match theWHEREcondition. The upgrade is blocked for the affected databases, and the incorrect indexes have to be dropped manually before the upgrade.Features
PG_MODULE_MAGIC_EXTforPG18OR/ANDclause.segmentbydefault for direct compressUPSERTs.segmentbyduring direct compressIN/ANYon open (time) dimensionsUPDATE/DELETEcommands.segmentbyduring direct compress flushWHEREclause contains filters not handled through the "Vectorized Filters" facility. This includes e.g. filters ontime_bucket()._timescaledb_functions.repair_relation_aclsALTER TABLE RESETon materialization hypertablesorderbycolumns do segmentwise decompress-compress instead of segmentwise recompress.ENABLE/DISABLE TRIGGERon hypertablessegmentbyor when allsegmentbycolumns are pinned to aConstBugfixes
NULLcompression handling inestimate_uncompressed_sizebloom1_containstime-bucketonDateorderbycolumnschunk_intervalFOREIGN KEYconstraints from catalogprocess_hypertable_invalidationspolicy codepost_parse_analyze_hookcapture in loadercache_destroyduring transaction abortNULLdatumCopycrash insegmentbyanalysisMERGE NOT MATCHED INSERTinto a hypertableTOASTdelete whenDELETE-after-compressionis enabledbigintinestimate_uncompressed_sizecalculationsbool/uuiddecompressionbigintfromcompressed_data_column_sizepathkeyhandling for compressed sub-paths during sort transformationts_cagg_invalidation_triggerts_stat_statementsrecordingNew Settings
enable_cagg_rewrites: enables rewriting queries with CAggs. Off by default.cagg_rewrites_debug_info: prints CAgg rewrites diagnostics. Off by default.enable_columnar_scan_filter_pushdown: enables pushing the filters on columnar scan down to the compressed scan level. On by default.Thanks
PG_MODULE_MAGIC_EXTv2.26.4Compare Source
This release contains bug fixes since the 2.26.3 release. We recommend that you upgrade at the next available opportunity.
Bugfixes
DT_NOBEGINnext_start to recover jobs stuck after primary failovernow()constification for continuous aggregate queriesALTER TABLEto many chunksInstrStartNodecalled twice in a rowPlaceHolderVar.phrelsin cached ChunkAppend plansPlaceHolderVarerror in runtime chunk exclusionDROP CASCADEfor trigger removaltimescaledb_post_restore()reliably restart background workers in a single callERRCODE_INTERNAL_ERRORon user-reachable error pathsts_bgw_job_get_funcisort_transformcrash with hypertable on nullable side of outer joinCOPYpath with transition tables after column dropextend_last_bucketonly applies to the boundary batchThanks
v2.26.3Compare Source
This release contains bug fixes since the 2.26.2 release. We recommend that you upgrade at the next available opportunity.
Bugfixes
alter_jobfailing for retention policy withdrop_created_beforeargumentcompression_chunk_sizeentries during the extension upgradeThanks
v2.26.2Compare Source
This release contains bug fixes since the 2.26.1 release. We recommend that you upgrade at the next available opportunity.
Bugfixes
EXPLAINfor direct compresstsl_compressor_freereorder_chunkGROUP BY ROLLUPon compressed continuous aggregatesThanks
v2.26.1Compare Source
This release contains bug fixes since the 2.26.0 release. We recommend that you upgrade at the next available opportunity.
Bugfixes
v2.26.0Compare Source
This release contains performance improvements and bug fixes since the 2.25.2 release. We recommend that you upgrade at the next available opportunity.
Highlighted features in TimescaleDB v2.26.0
time_bucket()in grouping or aggregation expressions, the function is evaluated natively without falling back to standard row-based processing. This enhancement ensures that the remainder of the query can seamlessly continue using the highly efficient columnar pipeline, yielding performance improvements of 3.5 times faster.SELECTandUPSERToperations, pushing down multi-column predicates directly to compressed table scans. This optimization bypasses costly batch decompression by automatically selecting the most restrictive bloom filter to quickly verify if target values are present. Showing over two times faster query performance when a composite bloom filter is used. Additionally, query profiling now includes detailedEXPLAINstatistics to monitor batch pruning and false-positive rates.ColumnarIndexScanadjusts the query plan to fetch values from the sparse minmax indexes, improving query performance on the columnstore by up to 70x. For analytical queries that leverage functions likeCOUNT,MIN,MAX,FIRST(limited), andLAST(limited), the sparse index is being read instead of decompressing the batch.Features
min(text),max(text)for C collation in columnar aggregation pipelinetime_bucketin the columnar aggregation and grouping pipeline.droppedfrom _timescaledb_catalog.chunkVectorAggin subqueries and CTEsHAVINGto vectorized aggregationColumnarIndexScancustom scanSELECTexecutionUPSERTstatementsIN/ANYon open (time) dimensionsBugfixes
time_bucket_gapfillCREATE EXTENSIONafter drop in the same sessionINSERT SELECTfrom a compressed hypertableNULLcompression handling inestimate_uncompressed_sizebloom1_containsGUCs
default_chunk_time_interval: Default chunk time interval for new hypertables. This is an expert configuration, please do not alter unless recommended from Tiger Data.enable_composite_bloom_indexes: Enable creation of bloom composite indexes on compressed chunks. Default:trueThanks
v2.25.2Compare Source
This release contains performance improvements and bug fixes since the 2.25.1 release and a fix for a security vulnerability (#9331). You can check the security advisory for more information on the vulnerability and the platforms that are affected. We recommend that you upgrade as soon as possible.
Bugfixes
NULLandDEFAULThandling in uniqueness check on compressed chunksEXPLAIN VERBOSEcorrupting targetlist of cached ModifyHypertable plansenuminorderbycompression settingALTER <object> OWNER TOto policy jobstime_bucket_gapfillinsideLATERALsubqueriesDELETEandUPDATEwithWHERE EXISTSon hypertablesNULLin compressed chunksRETURNINGclause on Postgres 18DELETEof the key recordNOT NULLdomain typesearch_pathis set before anything else in SQL scriptsThanks
time_bucket_gapfillandLATERALsubqueriesDELETE/UPDATEand subqueriesRETURNINGclause and references to OLD/NEWv2.25.1Compare Source
This release contains performance improvements and bug fixes since the 2.25.1 release and a fix for a security vulnerability (#9331). You can check the security advisory for more information on the vulnerability and the platforms that are affected. We recommend that you upgrade as soon as possible.
Bugfixes
NULLandDEFAULThandling in uniqueness check on compressed chunksEXPLAIN VERBOSEcorrupting targetlist of cached ModifyHypertable plansenuminorderbycompression settingALTER <object> OWNER TOto policy jobstime_bucket_gapfillinsideLATERALsubqueriesDELETEandUPDATEwithWHERE EXISTSon hypertablesNULLin compressed chunksRETURNINGclause on Postgres 18DELETEof the key recordNOT NULLdomain typesearch_pathis set before anything else in SQL scriptsThanks
time_bucket_gapfillandLATERALsubqueriesDELETE/UPDATEand subqueriesRETURNINGclause and references to OLD/NEWv2.25.0Compare 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:
buckets_per_batchto 10 reduces transaction sizes, requiring less WAL holding time.segmentbyandorderbyyield improved query performance and better compression ratio on the columnstore.Sunsetting announcements
Features
timescaledb.enable_direct_compress_on_cagg_refreshbuckets_per_batchon continuous aggregate refresh policy to10bgw_jobtable into schema_timescaledb_catalogrebuild_columnstoreprocedureSEToption for continuous aggregateswork_memfor background worker jobsColumnarIndexScancustom nodeselect column from table group by column.FIRSTandLASTinColumnarIndexScanColumnarIndexScanenable_columnarscanto control columnarscantime_bucket_ngfunction_timescaledb_debugschemaBug fixes
ColumnarScanPathEquivalenceClassindex update forRelOptInfoVACUUM FULLrelfrozenxidDELETEfrom a partially compressed chunk may miss records ifBitmapHeapScanis being usedALTER TABLEtime_bucketwith timezone during DSTbgw_jobNULLvalues in continuous aggregate invalidation more gracefullyGUCs
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:falseenable_direct_compress_on_cagg_refresh: Enable experimental support for direct compression during Continuous Aggregate refresh. Default:falseenable_qual_filtering: Filter qualifiers on chunks when complete chunk would be included by filter. Default:trueThanks
time_bucketv2.24.0Compare 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
time_bucketthat accepts UUIDv7 values and returns precise, timezone-aware timestamps — unlocking powerful time-series analytics on modern UUID-driven table schemas.recompress := trueoption on theconvert_to_columnstoreAPI 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 upgradi
Configuration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.