Bump PG minor versions on release-13 (15.19 / 16.15 / 17.11) - #241
Merged
ibrahim halatci (ihalatci) merged 1 commit intoAug 19, 2026
Merged
Conversation
PG15 15.18->15.19, PG16 16.14->16.15, PG17 17.10->17.11. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
ibrahim halatci (ihalatci)
merged commit Aug 19, 2026
7a09c75
into
release-13
26 of 27 checks passed
ibrahim halatci (ihalatci)
added a commit
to citusdata/citus
that referenced
this pull request
Aug 19, 2026
Validation PR for the-process [#241](citusdata/the-process#241). Repoints CI at the freshly built dev images carrying the new PostgreSQL minors published 2026-08-14/15. | | before | after | |---|---|---| | PG15 | 15.18 | 15.19 | | PG16 | 16.14 | 16.15 | | PG17 | 17.10 | 17.11 | `image_suffix`: `-dev-34d3b6f` --- ## Fallout from the new minors Validation surfaced two independent PostgreSQL security changes in this minor set that break Citus. ### 1. psql `COPY FROM STDIN` (fixed here) When a `COPY` fails early, the new psql silently swallows every line up to and including the next `\.`. Tests that relied on the old behaviour were adjusted: a terminating `\.` was added where one was missing, stray statements after a swallowed block were removed, and expected output was trimmed for the lines that no longer execute. ### 2. `output_plugin_libraries` (fixed here) PostgreSQL 14.24, 15.19, 16.15, 17.11 and 18.6 add an `output_plugin_libraries` GUC. Only the libraries it lists may be used as logical decoding output plugins. It defaults to `pgoutput, test_decoding` and is `superuser`-settable, so it takes a reload rather than a restart. **Upgrade note for operators.** Citus uses an output plugin named `citus` for logical replication during non-blocking shard splits. On these minors the following fail until the plugin is allowed: * `citus_split_shard_by_split_points(..., 'force_logical')` and `'auto'` * `create_distributed_table_concurrently()` * `citus_isolate_tenant_to_new_shard(..., 'force_logical'` / `'auto')` Shard **moves** and the rebalancer are unaffected -- they use `pgoutput`. CDC through the `pgoutput` shim is unaffected; CDC through `wal2json` needs the same treatment, exactly as it does on vanilla PostgreSQL. Remediation, on **every** node: ```sql ALTER SYSTEM SET output_plugin_libraries = pgoutput, test_decoding, citus; SELECT pg_reload_conf(); ``` The GUC is `GUC_LIST_QUOTE`, so quoting the whole list (`'pgoutput, test_decoding, citus'`) stores it as a single name and does **not** work. Use the bare list above, or quote each element individually. This PR does not work around the restriction -- allowing a decoder is deliberately an operator action. Instead Citus now **fails fast and clearly**: a preflight check runs against the source node before any shards, publications or replication slots are created, and raises an error naming the plugin, the node, the current allowlist value, and a ready-to-paste `ALTER SYSTEM` hint. ### Testing The regression and CDC harnesses start their own clusters, so in CI *we* are the operator: `pg_regress_multi.pl` and `cdctestlib.pm` now write the allowlist themselves, guarded by a probe of `postgresql.conf.sample` so they stay compatible with older minors where the GUC does not exist. To keep the un-remediated path covered, a new `check-split-output-plugin-denied` job deliberately skips that override (via `CITUS_TEST_SKIP_OUTPUT_PLUGIN_ALLOWLIST=1`) and asserts that a non-blocking split fails with the new error and leaks no shards, publications or replication slots. --- **Draft:** these are `-dev-` images. Do not merge until the-process [#241](citusdata/the-process#241) is merged and this PR is repointed at the resulting release image tag. --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7c6370b2-06fd-4491-bf92-ecb811d34518
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.
Bumps the PostgreSQL minor versions tracked on
release-13to the latest 2026-08-14 releases:All three minors are available on
apt.postgresql.orgfor bookworm (pgdg12+2).Only
circleci/images/PG_VERSIONSis touched. The GitHub Actionsbuild-test-imagesworkflow will rebuild the matrix on push.Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com