pgsql: Fix GUC check_hook validation for synchronized_standby_slots. - Mailing list pgsql-committers

From Amit Kapila
Subject pgsql: Fix GUC check_hook validation for synchronized_standby_slots.
Date
Msg-id E1vDHCi-003i64-06@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix GUC check_hook validation for synchronized_standby_slots.

Previously, the check_hook for synchronized_standby_slots attempted to
validate that each specified slot existed and was physical. However, these
checks were not performed during server startup. As a result, if users
configured non-existent slots before startup, the misconfiguration would
go undetected initially. This could later cause parallel query failures,
as newly launched workers would detect the issue and raise an ERROR.

This patch improves the check_hook by validating the syntax and format of
slot names. Validation of slot existence and type is deferred to the WAL
sender process, aligning with the behavior of the check_hook for
primary_slot_name.

Reported-by: Fabrice Chapuis <fabrice636861@gmail.com>
Author: Shlok Kyal <shlok.kyal.oss@gmail.com>
Reviewed-by: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Reviewed-by: Ashutosh Sharma <ashu.coek88@gmail.com>
Reviewed-by: Rahila Syed <rahilasyed90@gmail.com>
Backpatch-through: 17, where it was introduced
Discussion: https://postgr.es/m/CAA5-nLCeO4MQzWipCXH58qf0arruiw0OeUc1+Q=Z=4GM+=v1NQ@mail.gmail.com

Branch
------
master

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

Modified Files
--------------
src/backend/replication/slot.c                     | 59 ++++++----------------
.../modules/unsafe_tests/expected/guc_privs.out    | 15 ++++++
src/test/modules/unsafe_tests/sql/guc_privs.sql    | 10 ++++
3 files changed, 41 insertions(+), 43 deletions(-)


pgsql-committers by date:

Previous
From: Amit Kapila
Date:
Subject: pgsql: Improve test in 009_matviews.pl.
Next
From: Peter Eisentraut
Date:
Subject: pgsql: Remove meaninglist restrict qualifiers