pgsql: Fix the handling of two GUCs during upgrade. - Mailing list pgsql-committers

From Amit Kapila
Subject pgsql: Fix the handling of two GUCs during upgrade.
Date
Msg-id E1ua6NR-005huo-2e@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix the handling of two GUCs during upgrade.

Previously, the check_hook functions for max_slot_wal_keep_size and
idle_replication_slot_timeout would incorrectly raise an ERROR for values
set in postgresql.conf during upgrade, even though those values were not
actively used in the upgrade process.

To prevent logical slot invalidation during upgrade, we used to set
special values for these GUCs. Now, instead of relying on those values, we
directly prevent WAL removal and logical slot invalidation caused by
max_slot_wal_keep_size and idle_replication_slot_timeout.

Note: PostgreSQL 17 does not include the idle_replication_slot_timeout
GUC, so related changes were not backported.

BUG #18979
Reported-by: jorsol <jorsol@gmail.com>
Author: Dilip Kumar <dilipbalaut@gmail.com>
Reviewed by: vignesh C <vignesh21@gmail.com>
Reviewed by: Alvaro Herrera <alvherre@alvh.no-ip.org>
Backpatch-through: 17, where it was introduced
Discussion: https://postgr.es/m/219561.1751826409@sss.pgh.pa.us
Discussion: https://postgr.es/m/18979-a1b7fdbb7cd181c6@postgresql.org

Branch
------
REL_18_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/f36e5774510d9221fb38c988a62392784ae87405

Modified Files
--------------
src/backend/access/transam/xlog.c   | 33 ++++++++-------------------------
src/backend/replication/slot.c      | 32 ++++----------------------------
src/backend/utils/misc/guc_tables.c |  4 ++--
src/bin/pg_upgrade/server.c         | 18 ------------------
src/include/utils/guc_hooks.h       |  4 ----
5 files changed, 14 insertions(+), 77 deletions(-)


pgsql-committers by date:

Previous
From: Tatsuo Ishii
Date:
Subject: pgsql: Doc: fix outdated protocol version.
Next
From: Tom Lane
Date:
Subject: pgsql: Force LC_NUMERIC to C while running TAP tests.