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 <[email protected]> Author: Shlok Kyal <[email protected]> Reviewed-by: Hayato Kuroda <[email protected]> Reviewed-by: Amit Kapila <[email protected]> Reviewed-by: Ashutosh Sharma <[email protected]> Reviewed-by: Rahila Syed <[email protected]> Backpatch-through: 17, where it was introduced Discussion: https://postgr.es/m/CAA5-nLCeO4MQzWipCXH58qf0arruiw0OeUc1+Q=Z=4GM+=v...@mail.gmail.com Branch ------ REL_17_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/0024f5a1022e61c6f9d5377515cc1cdee28c5939 Modified Files -------------- src/backend/replication/slot.c | 59 ++++++---------------- .../modules/unsafe_tests/expected/guc_privs.out | 10 ++++ src/test/modules/unsafe_tests/sql/guc_privs.sql | 8 +++ 3 files changed, 34 insertions(+), 43 deletions(-)
