Avoid unexpected shutdown when sync_replication_slots is enabled.
authorFujii Masao <fujii@postgresql.org>
Mon, 4 Aug 2025 11:51:42 +0000 (20:51 +0900)
committerFujii Masao <fujii@postgresql.org>
Mon, 4 Aug 2025 11:53:07 +0000 (20:53 +0900)
commitf71fa981c96dc5672b0aca671a9898a36fa6d19b
treecb931fc0d446807f0cb833bae7cc9c999faa90ef
parenta9b4b0665d4599f4cbc441032a01fcfdab741613
Avoid unexpected shutdown when sync_replication_slots is enabled.

Previously, enabling sync_replication_slots while wal_level was not set
to logical could cause the server to shut down. This was because
the postmaster performed a configuration check before launching
the slot synchronization worker and raised an ERROR if the settings
were incompatible. Since ERROR is treated as FATAL in the postmaster,
this resulted in the entire server shutting down unexpectedly.

This commit changes the postmaster to log that message with a LOG-level
instead of raising an ERROR, allowing the server to continue running
even with the misconfiguration.

Back-patch to v17, where slot synchronization was introduced.

Reported-by: Hugo DUBOIS <hdubois@scaleway.com>
Author: Fujii Masao <masao.fujii@gmail.com>
Reviewed-by: Hugo DUBOIS <hdubois@scaleway.com>
Reviewed-by: Shveta Malik <shveta.malik@gmail.com>
Discussion: https://postgr.es/m/CAH0PTU_pc3oHi__XESF9ZigCyzai1Mo3LsOdFyQA4aUDkm01RA@mail.gmail.com
Backpatch-through: 17
src/backend/replication/logical/slotsync.c