upstream merge - #16
Merged
ardentperf merged 77 commits intoSep 2, 2026
Merged
Conversation
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…-pg#246) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ative-pg#245) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
The maintenance module under `dagger/maintenance` has unit tests but nothing in CI runs them. This adds a workflow that runs `go test` on every pull request and on pushes to `main`. The generated Dagger client (`internal/dagger`, `dagger.gen.go`) is gitignored, so the workflow runs `dagger develop` to regenerate it before testing. The generated client panics at init unless `DAGGER_SESSION_PORT` and `DAGGER_SESSION_TOKEN` are set; the unit tests never open a session, so dummy values are enough to get past that check without contacting an engine. Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com> Signed-off-by: Niccolò Fei <niccolo.fei@enterprisedb.com> Co-authored-by: Niccolò Fei <niccolo.fei@enterprisedb.com> Co-authored-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com>
Updating the OS libraries of postgis Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: extension-os-libs-updater <extension-os-libs-updater@users.noreply.github.com>
…-pg#249) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | minor | `2.27.2` → `2.28.0` | | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | minor | `2.27.2+dfsg-1.pgdg12+1` → `2.28.0+dfsg-1.pgdg12+1` | | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | minor | `2.27.2+dfsg-1.pgdg13+1` → `2.28.0+dfsg-1.pgdg13+1` | --- ### Release Notes <details> <summary>timescale/timescaledb (postgresql-18-timescaledb)</summary> ### [`v2.28.0`](https://redirect.github.com/timescale/timescaledb/blob/HEAD/CHANGELOG.md#2280-2026-06-16) [Compare Source](https://redirect.github.com/timescale/timescaledb/compare/2.27.2...2.28.0) 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** - **Faster `first()` and `last()` queries on compressed data.** TimescaleDB derives `first(value, time)` and `last(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. - **Lighter, less disruptive continuous aggregate refreshes.** `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 via `buckets_per_batch`, `max_batches_per_execution`, and `refresh_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. - **Vectorized execution now covers `CASE` expressions.** TimescaleDB's columnar executor can now evaluate `CASE ... WHEN` expressions 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. - **Add new aggregations to a continuous aggregate without rebuilding it.** You can now run `ALTER MATERIALIZED VIEW <cagg> ADD COLUMN <name> <type> GENERATED ALWAYS AS (<aggregate>) STORED` to 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 as `NULL`; 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_constraint` Catalog Table** Please note that the `_timescaledb_catalog.chunk_constraint` table 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](https://www.tigerdata.com/docs/reference/timescaledb/informational-views). **Backward-Incompatible Changes** - [#​9934](https://redirect.github.com/timescale/timescaledb/pull/9934) Remove adaptive chunking **Features** - [#​4054](https://redirect.github.com/timescale/timescaledb/pull/4054) Support `ANALYZE` and `VACUUM` on continuous aggregates by redirecting to the underlying materialization hypertable - [#​9125](https://redirect.github.com/timescale/timescaledb/pull/9125) Increase the parallelism of `SELECT` queries over compressed hypertables to approximately match the uncompressed data size - [#​9410](https://redirect.github.com/timescale/timescaledb/pull/9410) Mark `hypertable` and `chunk` as user catalog tables - [#​9416](https://redirect.github.com/timescale/timescaledb/pull/9416) Support some forms of `CASE` expression in columnar aggregation and grouping - [#​9580](https://redirect.github.com/timescale/timescaledb/pull/9580) Add `first` / `last` sparse indexes to compression - [#​9784](https://redirect.github.com/timescale/timescaledb/pull/9784) Use `first` / `last` sparse index for `orderby` metadata on new compressed chunks - [#​9668](https://redirect.github.com/timescale/timescaledb/pull/9668) Allow database owner to configure hypertables and policies - [#​9701](https://redirect.github.com/timescale/timescaledb/pull/9701) Relax lock during continuous aggregate invalidation log processing - [#​9730](https://redirect.github.com/timescale/timescaledb/pull/9730) Add in-memory observability for compressed chunks - [#​9735](https://redirect.github.com/timescale/timescaledb/pull/9735) Improve `GapFill` row count estimate - [#​9821](https://redirect.github.com/timescale/timescaledb/pull/9821) Allow subquery results which are exec params as GapFill arguments - [#​9825](https://redirect.github.com/timescale/timescaledb/pull/9825) Support `ADD COLUMN` on continuous aggregates - [#​9842](https://redirect.github.com/timescale/timescaledb/pull/9842) Suppress continuous aggregate invalidation tracking during bulk loads - [#​9878](https://redirect.github.com/timescale/timescaledb/pull/9878) Remove `chunk_constraint` catalog tracking for foreign keys - [#​9893](https://redirect.github.com/timescale/timescaledb/pull/9893) Remove `chunk_constraint` catalog tracking for non-dimensional constraints - [#​9903](https://redirect.github.com/timescale/timescaledb/pull/9903) Incremental refresh for `refresh_continuous_aggregate()` - [#​9915](https://redirect.github.com/timescale/timescaledb/pull/9915) Remove `_timescaledb_catalog.chunk_constraint` table - [#​9938](https://redirect.github.com/timescale/timescaledb/pull/9938) Add `rebuild_sparse_index` function - [#​9964](https://redirect.github.com/timescale/timescaledb/pull/9964) Add a function to lock OSM chunk's dimension slice - [#​9980](https://redirect.github.com/timescale/timescaledb/pull/9980) Support `first/last(value, time)` in `ColumnarIndexScan` **Bugfixes** - [#​9708](https://redirect.github.com/timescale/timescaledb/pull/9708) Guard time bucket parameter handling against bad input - [#​9745](https://redirect.github.com/timescale/timescaledb/pull/9745) Check constraints when adding unique constraints to chunks - [#​9890](https://redirect.github.com/timescale/timescaledb/pull/9890) Fix incremental refresh batch boundaries to align with variable-width buckets and start only where a chunk and an invalidation overlap - [#​9914](https://redirect.github.com/timescale/timescaledb/pull/9914) Fix use-after-free in segmentwise recompression - [#​9929](https://redirect.github.com/timescale/timescaledb/pull/9929) Fix background jobs being bumped in the queue forever and never running - [#​9955](https://redirect.github.com/timescale/timescaledb/pull/9955) Fix wrong results when using Batch Sorted Merge with no first-last index on a non-leading order by column - [#​9967](https://redirect.github.com/timescale/timescaledb/pull/9967) Block upgrade after downgrade with first/last indexes present - [#​9976](https://redirect.github.com/timescale/timescaledb/pull/9976) Fix wrong results when comparing a date column to a `timestamptz` value - [#​9977](https://redirect.github.com/timescale/timescaledb/pull/9977) Fix `COPY WHERE` into a hypertable with dropped columns - [#​9981](https://redirect.github.com/timescale/timescaledb/pull/9981) Fix set-returning functions in the sort key of `ColumnarScan` - [#​9982](https://redirect.github.com/timescale/timescaledb/pull/9982) Reject `ALTER TABLE ... INHERIT` when the parent is a hypertable - [#​9984](https://redirect.github.com/timescale/timescaledb/pull/9984) Fix handling of `NOT VALID NOT NULL` constraint for query optimization - [#​9986](https://redirect.github.com/timescale/timescaledb/pull/9986) Handle `MERGE WHEN NOT MATCHED BY SOURCE` on hypertables - [#​9988](https://redirect.github.com/timescale/timescaledb/pull/9988) Fix `time_bucket_gapfill` function detection - [#​10003](https://redirect.github.com/timescale/timescaledb/pull/10003) Block unsafe updates of unique columns on compressed chunks - [#​10024](https://redirect.github.com/timescale/timescaledb/pull/10024) Fix `approximate_row_count` handling of Infinity - [#​10025](https://redirect.github.com/timescale/timescaledb/pull/10025) Fix rename on compressed continuous aggregates - [#​10026](https://redirect.github.com/timescale/timescaledb/pull/10026) Fix chunk skipping near `PG_INT64_MAX` **New 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** - [@​Fabian-2596](https://redirect.github.com/Fabian-2596) for suggesting more accurate GapFill row count estimate - [@​otjdiepluong](https://redirect.github.com/otjdiepluong) for fixing spelling mistakes in timescaledb source code comments - [@​scimad](https://redirect.github.com/scimad) and [@​Nosfistis](https://redirect.github.com/Nosfistis) for suggesting expanding coverage for gapfill arguments </details> --- ### Configuration 📅 **Schedule**: (UTC) - 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIzMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…g#248) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ative-pg#253) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…loudnative-pg#252) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ive-pg#257) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…#255) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…-pg#258) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.28.0` → `2.28.1` | | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.28.0+dfsg-1.pgdg12+1` → `2.28.1+dfsg-1.pgdg12+1` | | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.28.0+dfsg-1.pgdg13+1` → `2.28.1+dfsg-1.pgdg13+1` | --- ### Release Notes <details> <summary>timescale/timescaledb (postgresql-18-timescaledb)</summary> ### [`v2.28.1`](https://redirect.github.com/timescale/timescaledb/blob/HEAD/CHANGELOG.md#2281-2026-06-23) [Compare Source](https://redirect.github.com/timescale/timescaledb/compare/2.28.0...2.28.1) This release contains performance improvements and bug fixes since the 2.28.0 release. We recommend that you upgrade at the next available opportunity. **Bugfixes** - [#​9913](https://redirect.github.com/timescale/timescaledb/pull/9913) Fix potential crash on `DML` on compressed tables when the plan uses `Bitmap Heap Scan` - [#​10091](https://redirect.github.com/timescale/timescaledb/pull/10091) Fix column rename for compressed chunks - [#​10056](https://redirect.github.com/timescale/timescaledb/pull/10056) Enforce `CHECK`, `NOT NULL` and view `WITH CHECK OPTION` constraints for direct compress inserts - [#​10059](https://redirect.github.com/timescale/timescaledb/pull/10059) Fix error when using `first`/`last` aggregates in a `HAVING` clause - [#​10060](https://redirect.github.com/timescale/timescaledb/pull/10060) Fix `first`/`last` optimization returning the same value for aggregates that share the value column but order by different columns - [#​10061](https://redirect.github.com/timescale/timescaledb/pull/10061) Fix internal error in `first`/`last` for unsortable types - [#​10069](https://redirect.github.com/timescale/timescaledb/pull/10069) Fix `bgw_job_stat_history` definition - [#​10073](https://redirect.github.com/timescale/timescaledb/pull/10073) Fix uncompressed size estimate for `varlen` - [#​10089](https://redirect.github.com/timescale/timescaledb/pull/10089) Fix deleting every row on compressed hypertable with subquery returning constant false - [#​10094](https://redirect.github.com/timescale/timescaledb/pull/10094) Fix use-after-free in `ALTER TABLE ADD CONSTRAINT` **Thanks** - [@​skrenes](https://redirect.github.com/skrenes) for reporting a problem with the `job_history` view when upgrading to 2.28.0 </details> --- ### Configuration 📅 **Schedule**: (UTC) - 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzUuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/setup-go](https://redirect.github.com/actions/setup-go) ([changelog](https://redirect.github.com/actions/setup-go/compare/4a3601121dd01d1626a1e23e37211e3254c1c06c..924ae3a1cded613372ab5595356fb5720e22ba16)) | action | digest | `4a36011` → `924ae3a` | --- ### Configuration 📅 **Schedule**: (UTC) - 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzUuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ive-pg#259) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [registry](https://redirect.github.com/distribution/distribution) | digest | `5620083` → `1be5527` | --- ### Configuration 📅 **Schedule**: (UTC) - 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzUuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…loudnative-pg#264) This PR contains the following updates: | Package | Update | Change | |---|---|---| | alpine/kubectl | digest | `01d138c` → `03f27b6` | --- ### Configuration 📅 **Schedule**: (UTC) - 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ative-pg#265) This PR contains the following updates: | Package | Update | Change | |---|---|---| | alpine/psql | digest | `01cbd02` → `b884e06` | --- ### Configuration 📅 **Schedule**: (UTC) - 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…g#262) `bake --check` only lints (no image needs to be produced). Override the output to `cacheonly` so index annotations are never applied to a single-platform export. Closes cloudnative-pg#261 Signed-off-by: Niccolò Fei <niccolo.fei@enterprisedb.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…#268) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…loudnative-pg#272) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ative-pg#273) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…-pg#269) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.28.1` → `2.28.2` | | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.28.1+dfsg-1.pgdg12+1` → `2.28.2+dfsg-1.pgdg12+1` | | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.28.1+dfsg-1.pgdg13+1` → `2.28.2+dfsg-1.pgdg13+1` | --- ### Release Notes <details> <summary>timescale/timescaledb (postgresql-18-timescaledb)</summary> ### [`v2.28.2`](https://redirect.github.com/timescale/timescaledb/blob/HEAD/CHANGELOG.md#2282-2026-06-30) [Compare Source](https://redirect.github.com/timescale/timescaledb/compare/2.28.1...2.28.2) This release contains bug fixes since the 2.28.1 release. We recommend that you upgrade at the next available opportunity. **Bugfixes** - [#​10126](https://redirect.github.com/timescale/timescaledb/pull/10126) Fix `bgw_job_stat_history` migration for 2.28.1 - [#​10133](https://redirect.github.com/timescale/timescaledb/pull/10133) Fix `chunk_constraint` migration - [#​10137](https://redirect.github.com/timescale/timescaledb/pull/10137) Fix column ordering on `first`/`last`-based sparse indexes - [#​10164](https://redirect.github.com/timescale/timescaledb/pull/10164) Automatically drop incompatible smallint bloom filters when upgrading instead of stopping the upgrade **Thanks** - [@​juantxorena](https://redirect.github.com/juantxorena) for reporting an issue with update script for 2.28.1 - [@​rusha1333](https://redirect.github.com/rusha1333) for reporting an issue when upgrading to 2.28.1 </details> --- ### Configuration 📅 **Schedule**: (UTC) - 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
… metadata (cloudnative-pg#251) Previously the build matrix was a hardcoded cross-product of two global lists (distributions and PG versions), forcing every extension to build for every distribution and forcing all distributions to share the same PostgreSQL majors. The matrix is now derived from the explicit (distro, PG major) pairs each extension declares under its own metadata.versions, so extensions can declare their own valid combinations. docker-bake.hcl gains getBuildMatrix()/getBuildName() to centralize this, and the dagger maintenance module mirrors the same logic in Go, dropping its dependency on github.com/docker/buildx/bake in the process. The docker-bake.hcl/metadata.hcl load order is flipped so per-extension overrides (used by postgis) apply correctly. Closes cloudnative-pg#242
…ative-pg#277) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Updating the OS libraries of postgis Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: extension-os-libs-updater <extension-os-libs-updater@users.noreply.github.com>
…loudnative-pg#276) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…e-pg#298) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [docker/login-action](https://redirect.github.com/docker/login-action) ([changelog](https://redirect.github.com/docker/login-action/compare/abd2ef45e78c5afb21d64d4ca52ee8550d9572c7..371161bbe7024a29a25c5e19bfcbc0804fe9ad2c)) | action | digest | `abd2ef4` → `371161b` | --- ### Configuration 📅 **Schedule**: (UTC) - 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yODAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI4MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…-pg#303) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | minor | `2.28.3` → `2.29.0` | | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | minor | `2.28.3+dfsg-1.pgdg12+1` → `2.29.0+dfsg-1.pgdg12+1` | | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | minor | `2.28.3+dfsg-1.pgdg13+1` → `2.29.0+dfsg-1.pgdg13+1` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](..cloudnative-pg/issues/26) for more information. --- ### Release Notes <details> <summary>timescale/timescaledb (postgresql-18-timescaledb)</summary> ### [`v2.29.0`](https://redirect.github.com/timescale/timescaledb/blob/HEAD/CHANGELOG.md#2290-2026-07-28) [Compare Source](https://redirect.github.com/timescale/timescaledb/compare/2.28.3...2.29.0) This release contains performance improvements and bug fixes since the 2.28.3 release. We recommend that you upgrade at the next available opportunity. **Release Highlights** - Chunk exclusion for DML operations improves the performance of `UPDATE` and `DELETE` statements on hypertables. By acquiring row exclusive locks only on the specific chunks being modified rather than the entire hypertable. This enhancement reduces lock contention in high-concurrency workloads involving DML, speeding up the planning of DML queries by using the optimized TimescaleDB chunk exclusion instead of the baseline Postgres constraint exclusion. - The query planner can now choose an additional algorithm for retrieving a small number of rows, for reading the columnstore data, optimizing the default behavior. This optimization improves some last-point queries on columnstore (think `ORDER BY time DESC LIMIT 1`) run several times faster than in previous releases. **Important: PostgreSQL 15 Support Removed** TimescaleDB 2.29.0 removes support for PostgreSQL 15. This release supports PostgreSQL 16, 17, and 18. If you are still running PostgreSQL 15, upgrade PostgreSQL before upgrading to TimescaleDB 2.29.0. **Backward-Incompatible Changes** - [#​10041](https://redirect.github.com/timescale/timescaledb/pull/10041) Remove support for PostgreSQL 15 **Features** - [#​9315](https://redirect.github.com/timescale/timescaledb/pull/9315) Speed up `DML` operations on hypertables by using the optimized TimescaleDB hypertable expansion code instead of the generic PostgreSQL inheritance hierarchy expansion - [#​9534](https://redirect.github.com/timescale/timescaledb/pull/9534) Speed up expression evaluation in the columnar pipeline by caching common subexpressions - [#​9684](https://redirect.github.com/timescale/timescaledb/pull/9684) Add `_timescaledb_functions.decompress_batch()` SQL function - [#​9732](https://redirect.github.com/timescale/timescaledb/pull/9732) Speed up some queries with small `LIMIT` by switching to row-by-row query execution pipeline - [#​9917](https://redirect.github.com/timescale/timescaledb/pull/9917) Decompress less data in `DML` on compressed hypertables by accounting for prepared statement parameters - [#​9957](https://redirect.github.com/timescale/timescaledb/pull/9957) Add `compact_chunk()` function - [#​10048](https://redirect.github.com/timescale/timescaledb/pull/10048) Support concurrent refresh policies on hierarchical continuous aggregates - [#​10081](https://redirect.github.com/timescale/timescaledb/pull/10081) Add `samplerate` argument to `_timescaledb_functions.estimate_uncompressed_size()` - [#​10100](https://redirect.github.com/timescale/timescaledb/pull/10100) Skip classifying compressed relations to speed up planning - [#​10118](https://redirect.github.com/timescale/timescaledb/pull/10118) Don't track compressed relations as separate chunk - [#​10119](https://redirect.github.com/timescale/timescaledb/pull/10119) Reduce memory usage of `INSERT` queries using direct compress and spanning multiple chunks - [#​10163](https://redirect.github.com/timescale/timescaledb/pull/10163) Add a compaction policy for unordered chunks - [#​10204](https://redirect.github.com/timescale/timescaledb/pull/10204) Don't create separate hypertable catalog entry for hypertables with compression - [#​10217](https://redirect.github.com/timescale/timescaledb/pull/10217) Initial placeholder version of granular refresh API - [#​10225](https://redirect.github.com/timescale/timescaledb/pull/10225) Add `config_merge` parameter to `alter_job()` for merging `jsonb` into the existing job configuration - [#​10226](https://redirect.github.com/timescale/timescaledb/pull/10226) Add `recompress_unordered` columnstore policy option - [#​10231](https://redirect.github.com/timescale/timescaledb/pull/10231) Use `regclass` for storing relation reference in chunk table - [#​10237](https://redirect.github.com/timescale/timescaledb/pull/10237) Add helper functions for decoding hypertable status - [#​10240](https://redirect.github.com/timescale/timescaledb/pull/10240) Add the `tsdb.direct_compress` storage parameter that allows enabling direct compress for a given hypertable independent of global settings - [#​10266](https://redirect.github.com/timescale/timescaledb/pull/10266) Add `max_batches` to `compact_chunk()` - [#​10299](https://redirect.github.com/timescale/timescaledb/pull/10299) Add `continuous_aggs_tenant_tracking` and `hypertable_cagg_settings` catalogs **Bugfixes** - [#​10013](https://redirect.github.com/timescale/timescaledb/pull/10013) Make ownership error messages on continuous aggregates consistent - [#​10052](https://redirect.github.com/timescale/timescaledb/pull/10052) Result of `MIN` / `MAX` aggregate functions in columnar aggregation pipeline possibly inconsistent with plain PostgreSQL result - [#​10071](https://redirect.github.com/timescale/timescaledb/pull/10071) Prune the real-time branch of hierarchical continuous aggregates at any nesting depth - [#​10143](https://redirect.github.com/timescale/timescaledb/pull/10143) Fix division by zero when planning `time_bucket` with zero width - [#​10199](https://redirect.github.com/timescale/timescaledb/pull/10199) Fix `initial_start` handling in `build_job_info` - [#​10213](https://redirect.github.com/timescale/timescaledb/pull/10213) Cache sort pathkeys per hypertable - [#​10221](https://redirect.github.com/timescale/timescaledb/pull/10221) Fix incremental refresh skipping the last bucket - [#​10278](https://redirect.github.com/timescale/timescaledb/pull/10278) Drop `job_errors` view in `bgw_job_stat_history` migration - [#​10280](https://redirect.github.com/timescale/timescaledb/pull/10280) `RETURNING` clause returned no rows for `INSERT` using direct compress - [#​10281](https://redirect.github.com/timescale/timescaledb/pull/10281) Disable direct compress when the destination table has an exclusion constraint so the constraint is still enforced - [#​10282](https://redirect.github.com/timescale/timescaledb/pull/10282) Only count directly compressed rows toward the command tag when the `INSERT` sets it - [#​10286](https://redirect.github.com/timescale/timescaledb/pull/10286) Propagate `VACUUM` on a chunk to the compressed relation when running on the chunk directly - [#​10302](https://redirect.github.com/timescale/timescaledb/pull/10302) Fix useless-join removal and self-join elimination for hypertables - [#​10313](https://redirect.github.com/timescale/timescaledb/pull/10313) Allow running `ALTER EXTENSION timescaledb UPDATE` inside a transaction block - [#​10315](https://redirect.github.com/timescale/timescaledb/pull/10315) Fix overlap detection with running max - [#​10324](https://redirect.github.com/timescale/timescaledb/pull/10324) Fix stale index entries after `rebuild_sparse_index()` on compressed chunks **GUCs** - `timescaledb.enable_hypertable_expansion_for_dml`: allow using the optimized TimescaleDB hypertable expansion code for `UPDATE` and `DELETE` instead of the generic PostgreSQL inheritance hierarchy expansion. On by default. **Thanks** - [@​FrancescEthon](https://redirect.github.com/FrancescEthon) and [@​ManuelEthon](https://redirect.github.com/ManuelEthon) for reporting an issue with incremental refresh skipping the last bucket - [@​h0rn3t](https://redirect.github.com/h0rn3t) for reporting a problem with `VACUUM` not propagating to the compressed relation - [@​igor2x](https://redirect.github.com/igor2x) for reporting an issue with locking during DML statements on hypertables - [@​MaximeEthon](https://redirect.github.com/MaximeEthon) for reporting an issue with prepared statement parameters in DML decompression - [@​proddata](https://redirect.github.com/proddata) for reporting a problem when upgrading from 2.15.3 to 2.28.2 - [@​tureba](https://redirect.github.com/tureba) for reporting and fixing stale sparse-index entries after rebuild - [@​viniciusrsouza](https://redirect.github.com/viniciusrsouza) for reporting an issue with hierarchical continuous aggregates </details> --- ### Configuration 📅 **Schedule**: (UTC) - 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zLjIiLCJ1cGRhdGVkSW5WZXIiOiI0NC4zLjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…#305) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…loudnative-pg#304) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Regenerates this repo's CODEOWNERS from cloudnative-pg/cnpg-infra's `componentowners-policy.yaml`, the org's tracked desired state for CODEOWNERS content. - Routes ownership through this repo's dedicated GitHub owners team instead of hardcoded usernames, so membership changes are picked up automatically. - Any path-scoped rule now also includes the repo's general owners, so a path rule adds reviewers rather than silently replacing the `*` rule's owners for that subtree (CODEOWNERS only honors the last matching pattern, it does not merge). See cloudnative-pg/cnpg-infra for the policy this is generated from. Assisted-by: Claude
…ative-pg#296) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…pg#308) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…-pg#309) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.29.0` → `2.29.1` | | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.29.0+dfsg-1.pgdg12+1` → `2.29.1+dfsg-1.pgdg12+1` | | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.29.0+dfsg-1.pgdg13+1` → `2.29.1+dfsg-1.pgdg13+1` | --- ### Release Notes <details> <summary>timescale/timescaledb (postgresql-18-timescaledb)</summary> ### [`v2.29.1`](https://redirect.github.com/timescale/timescaledb/blob/HEAD/CHANGELOG.md#2291-2026-08-04) [Compare Source](https://redirect.github.com/timescale/timescaledb/compare/2.29.0...2.29.1) This release contains performance improvements and bug fixes since the 2.29.0 release and fixes for security vulnerabilities ([#​10360](https://redirect.github.com/timescale/timescaledb/issues/10360), [#​10379](https://redirect.github.com/timescale/timescaledb/issues/10379), [#​10386](https://redirect.github.com/timescale/timescaledb/issues/10386)). You can check the [security advisory](https://redirect.github.com/timescale/timescaledb/security/advisories/GHSA-hcfx-29v5-2rcw) for more information on the vulnerability and the platforms that are affected. We recommend that you upgrade at the next available opportunity. **Bugfixes** - [#​10327](https://redirect.github.com/timescale/timescaledb/pull/10327) Assertion failure in `add_dimension()` when the hypertable argument is `NULL` - [#​10339](https://redirect.github.com/timescale/timescaledb/pull/10339) Fix crash when deleting from a compressed continuous aggregate source - [#​10340](https://redirect.github.com/timescale/timescaledb/pull/10340) Validate `max_batches` in `compact_chunk()` - [#​10352](https://redirect.github.com/timescale/timescaledb/pull/10352) Reset inherited column and constraint flags on chunks during `attach_chunk()` - [#​10360](https://redirect.github.com/timescale/timescaledb/pull/10360) Fix decompressor crashes with malformed compressed data - [#​10369](https://redirect.github.com/timescale/timescaledb/pull/10369) Fix typo in error message about `MERGE` support on compressed hypertables - [#​10379](https://redirect.github.com/timescale/timescaledb/pull/10379) Read hypertable max time value with an ordered scan - [#​10386](https://redirect.github.com/timescale/timescaledb/pull/10386) Add missing permission checks to internal chunk functions **Thanks** - [@​JoongHyuk-Shin](https://redirect.github.com/JoongHyuk-Shin) for reporting and fixing `NULL` handling in `add_dimension()` - [@​igor2x](https://redirect.github.com/igor2x) for reporting a typo in a `MERGE` support error message - [@​mdisec](https://redirect.github.com/mdisec) for reporting issues with compressed data validation during decompression </details> --- ### Configuration 📅 **Schedule**: (UTC) - 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMi4wIiwidXBkYXRlZEluVmVyIjoiNDQuMTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ative-pg#311) This PR contains the following updates: | Package | Update | Change | |---|---|---| | alpine/psql | digest | `96cfdbb` → `f4c295e` | --- ### Configuration 📅 **Schedule**: (UTC) - 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMi4wIiwidXBkYXRlZEluVmVyIjoiNDQuMTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…loudnative-pg#310) This PR contains the following updates: | Package | Update | Change | |---|---|---| | alpine/kubectl | digest | `1f0c863` → `5d380d1` | --- ### Configuration 📅 **Schedule**: (UTC) - 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMi4wIiwidXBkYXRlZEluVmVyIjoiNDQuMTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…#315) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [postgresql-18-wal2json](https://redirect.github.com/eulerto/wal2json) | patch | `2.6-3.pgdg13+1` → `2.6-4.pgdg13+1` | | [postgresql-18-wal2json](https://redirect.github.com/eulerto/wal2json) | patch | `2.6-3.pgdg12+1` → `2.6-4.pgdg12+1` | --- ### Configuration 📅 **Schedule**: (UTC) - 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yNC4wIiwidXBkYXRlZEluVmVyIjoiNDQuMjQuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ative-pg#319) PostgreSQL 18.6 introduced `output_plugin_libraries`, an allow-list restricting which libraries may be used as logical decoding output plugins (`CVE-2026-6471`). Without `wal2json` explicitly listed, `pg_create_logical_replication_slot(..., 'wal2json')` fails with: ERROR: library "wal2json" may not be used as an output plugin This is what broke the `wal2json` smoke test once the floating `postgresql:18-minimal-*` base images moved from 18.4 to 18.6: the Job that exercises dlopen of `wal2json.so` via slot creation kept failing and retrying (`CrashLoopBackOff`) until the chainsaw assert timeout, which is why CI showed an empty Job status rather than a clear error. Set `postgresql_parameters.output_plugin_libraries` in `metadata.hcl` so the extension's own test Cluster allow-lists `wal2json` (re-listing the built-in pgoutput/test_decoding defaults too, since setting this GUC replaces PostgreSQL's default rather than extending it). Update the README's example Cluster manifest accordingly, with a note that this parameter does not exist before 18.6 and setting it there is fatal (verified: postmaster refuses to start). Closes cloudnative-pg#318 Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com> Signed-off-by: Niccolò Fei <niccolo.fei@enterprisedb.com> Co-authored-by: Niccolò Fei <niccolo.fei@enterprisedb.com>
…-pg#320) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.29.1+dfsg-1.pgdg12+1` → `2.29.1+dfsg-2.pgdg12+1` | | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.29.1+dfsg-1.pgdg13+1` → `2.29.1+dfsg-2.pgdg13+1` | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Adds a `SECURITY-INSIGHTS.yml` for this repo, modeled on [cloudnative-pg/postgres-containers's file](https://github.com/cloudnative-pg/postgres-containers/blob/main/SECURITY-INSIGHTS.yml): repository-scoped, pointing back to the main project's file via `header.project-si-source`, with this repo's own core-team (matching `cloudnative-pg/cnpg-infra`'s `repo-tiers.yaml` owners), license, release distribution points, and security tooling — verified against this repo's actual CI workflows and repo settings rather than copied from another repo. Part of extending `SECURITY-INSIGHTS.yml` coverage to every Class A repo (see `cnpg-infra/repo-tiers.yaml`), starting with this one. Assisted-by: Claude Signed-off-by: Niccolò Fei <niccolo.fei@enterprisedb.com> Co-authored-by: Niccolò Fei <niccolo.fei@enterprisedb.com>
…ative-pg#317) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…loudnative-pg#316) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…pg#313) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Introduce the `pgrouting` extension container image for CloudNativePG, which supports the pgRouting extension for PostGIS (pgrouting.org). The extension image depends on the `postgis` one. Despite the GNU GPL 2.0 license, the extension has been accepted in this project, as it was already available in the previous PostGIS standalone images (predating the CNCF Sandbox admission). Closes cloudnative-pg#300 Signed-off-by: Oliver Falk <oliver@linux-kernel.at> Signed-off-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com> Signed-off-by: Niccolò Fei <niccolo.fei@enterprisedb.com> Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com> Co-authored-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com> Co-authored-by: Niccolò Fei <niccolo.fei@enterprisedb.com> Co-authored-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>
…udnative-pg#322) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…-pg#323) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.29.1` → `2.29.2` | | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.29.1+dfsg-2.pgdg12+1` → `2.29.2+dfsg-1.pgdg12+1` | | [postgresql-18-timescaledb](https://redirect.github.com/timescale/timescaledb) | patch | `2.29.1+dfsg-2.pgdg13+1` → `2.29.2+dfsg-1.pgdg13+1` | --- ### Release Notes <details> <summary>timescale/timescaledb (postgresql-18-timescaledb)</summary> ### [`v2.29.2`](https://redirect.github.com/timescale/timescaledb/blob/HEAD/CHANGELOG.md#2292-2026-08-18) [Compare Source](https://redirect.github.com/timescale/timescaledb/compare/2.29.1...2.29.2) This release contains bug fixes since the 2.29.1 release. We recommend that you upgrade at the next available opportunity. **Bugfixes** - [#​10189](https://redirect.github.com/timescale/timescaledb/pull/10189) Fix user-defined functions named `time_bucket` causing SQLSTATE `XX000` - [#​10363](https://redirect.github.com/timescale/timescaledb/pull/10363) Fix `time_bucket_gapfill()` with window aggregates over constants - [#​10416](https://redirect.github.com/timescale/timescaledb/pull/10416) Repair mismatched dimensional `CHECK` constraints - [#​10423](https://redirect.github.com/timescale/timescaledb/pull/10423) Fix compressed `SkipScan` dropping uncompressed rows when sort keys do not match distinct keys - [#​10430](https://redirect.github.com/timescale/timescaledb/pull/10430) Do not attach `SkipScan` to mismatched `IndexScan` paths under `MergeAppend` - [#​9921](https://redirect.github.com/timescale/timescaledb/pull/9921) Fix wrong results for `IS NULL` predicates with min/max sparse-index pushdown **Thanks** - [@​borisborelly](https://redirect.github.com/borisborelly) for reporting incorrect results with `COUNT(DISTINCT)` due to `SkipScan` dropping uncompressed rows. </details> --- ### Configuration 📅 **Schedule**: (UTC) - 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/cloudnative-pg/postgres-extensions-containers). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zNS40IiwidXBkYXRlZEluVmVyIjoiNDQuMzkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…-pg#324) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…pg#312) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: extension-os-libs-updater <extension-os-libs-updater@users.noreply.github.com>
…pg#326) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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.
Upstream Sync Commit Review
Generated and reviewed locally on 2026-09-02. This is the first checked-in sync review record. The comparison tip is the second parent of the downstream merge.
origin/mainat4a2d94443c59626884bde23c6dc700448500c6f1(cnpg-extensions/postgres-extensions-containers)upstream/mainat011b3fc72455574a6b87043f14c220f6b4cca1607b6ba6a07f45e559f232e70b542e82123ec875d9324a6b7a9392060baf2c5c8c10d0a2ae66a0f0e0Review rules
Touches mirror files?isYeswhen at least one exact changed path exists in the mirror at the checked mirror ref. ANoresult means the commit only adds or changes paths absent from the mirror. Extension directories are grouped in the path column. Purechore(deps)commits are omitted from the detailed sections and summarized separately below.Consolidated dependency-only updates
57 of the 75 upstream commits are pure dependency chores (
chore(deps):). They are intentionally filtered out of the detailed review sections. Do not replay these bot commits individually; review the final cumulative value in each shared file and take only the pins relevant to the mirror.test/check-extension.yamlto the final v18.6 pin; skip extension-only test files.Final upstream shared values observed during this review include CNPG
1.30, kubectl1.36.4, psql18.6, Daggerv0.21.9, registry3.1.1, and the corresponding upstream-pinned digests. Take these as review targets, not as an instruction to mirror extension package versions.Detailed review: commits planned for adoption
These are the substantive upstream commits we plan to adopt or adapt, subject to normal conflict resolution and validation.
dagger/maintenance/dagger.jsondagger/maintenance/go.moddagger/maintenance/go.sumabsent:
.github/workflows/test.ymlTaskfile.ymlbake --checkfix..github/workflows/bake_targets.ymlBUILD.mdTaskfile.ymldagger/maintenance/dagger.jsondagger/maintenance/go.moddagger/maintenance/go.sumdagger/maintenance/main.godagger/maintenance/parse.godocker-bake.hclpostgis/* (1)absent:
dagger/maintenance/parse_test.go.github/workflows/bake_targets.ymlTaskfile.ymlTaskfile.yml.github/PULL_REQUEST_TEMPLATE/new_extension.mdCONTRIBUTING_NEW_EXTENSION.mdabsent:
SECURITY-INSIGHTS.ymlDetailed review: commits not relevant to this mirror
These commits are intentionally excluded. They either update extensions that are not mirrored here, fix extension-specific behavior, add upstream-only extensions, or change upstream ownership policy.
CODEOWNERS policy: CNPG Extensions has its own
CODEOWNERSfile and ownership model. Do not copy upstreamCODEOWNERSchanges or upstream component-owner/account assignments. Preserve and review downstream ownership independently.postgis/* (2)postgis/* (2)CODEOWNERSREADME.mdabsent:
pg-ivm/* (10)postgis/* (1)CODEOWNERSCODEOWNERSpostgis/* (1)$libdir/prefix from extension SQL scripts (cloudnative-pg#293)postgis/* (1)CODEOWNERSwal2jsontooutput_plugin_librariesfor PG 18.6+ (cloudnative-pg#319)wal2json/* (2)pgroutingcontainer image (cloudnative-pg#299)README.mdabsent:
SECURITY-INSIGHTS.ymlpgrouting/* (10)postgis/* (2)Merge resolution
extensions or extension-specific updates were added.
CODEOWNERSandREADME.md, including the mirror'sbranding.
SECURITY-INSIGHTS.ymlto the mirror repository and image names.contributor/security changes identified in the planned-adoption table.
dagger/maintenance/dagger.jsonat the upstream module declarationv0.21.7; the shared workflow and Taskfile pins use the reviewedv0.21.9CLI/tool value.
Validation
DAGGER_SESSION_PORT=1 DAGGER_SESSION_TOKEN=test go test ./...passed aftergenerating the Dagger client with v0.21.9.
act -j unit-test -W .github/workflows/test.yml --network bridge -P ubuntu-24.04=catthehacker/ubuntu:act-latestpassed.BUILDX_BUILDER=cnpg-walreplay-builder PATH=/tmp/dagger-sync-bin:$PATH task checks:allpassed for all 19 mirror extension targets. The default Docker driver was
unable to process attestations, so the existing Docker-container builder was
used for this lint-only check.
Bottom line
Adopt the shared maintenance/build-matrix refactor, Dagger unit-test workflow,
bake --checkfix, dynamic CNPG smoke matrix, current CNPG Taskfile fix, and adapted security/contributor metadata. Keep extension-specific updates, upstream-only extensions, and all upstream CODEOWNERS changes out of the mirror. Dependency-only chores are consolidated above.