From: | Hugo DUBOIS <hdubois(at)scaleway(dot)com> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Unexpected Standby Shutdown on sync_replication_slots change |
Date: | 2025-07-24 13:54:00 |
Message-ID: | CAH0PTU_pc3oHi__XESF9ZigCyzai1Mo3LsOdFyQA4aUDkm01RA@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Hello,
I'm not sure if it's a bug but I've encountered an unexpected behavior when
dynamically changing the sync_replication_slots parameter on a PostgreSQL
17 standby server. Instead of logging an error and continuing to run, the
standby instance shuts down with a FATAL error, which is not the
anticipated behavior for a dynamic parameter change, especially when the
documentation doesn't indicate such an outcome.
Steps to Reproduce
1.
Set up a physical replication between two PostgreSQL 17.5 instances.
2.
Ensure wal_level on the primary (and consequently on the standby) is set
to replica.
3.
Start both the primary and standby instances, confirming replication is
active.
4.
On the *standby* instance, dynamically change the sync_replication_slots
parameter (I have run the following query: ALTER SYSTEM SET
sync_replication_slots = 'on'; followed by SELECT pg_reload_conf();)
Expected Behavior
I expected the standby instance to continue running and log an error
message (similar to how hot_standby_feedback behaves when not enabled,
e.g., a loop of LOG: replication slot synchronization requires
"hot_standby_feedback" to be enabled). A FATAL error leading to an
unexpected shutdown for a dynamic parameter change on a running standby is
not the anticipated behavior. The documentation for sync_replication_slots
also doesn't indicate that a misconfiguration or incompatible wal_level
would lead to a shutdown.
Actual Behavior
Upon attempting to set sync_replication_slots to on on the standby with
wal_level set to replica, the standby instance immediately shuts down with
the following log messages:
LOG: database system is ready to accept read-only connections
LOG: started streaming WAL from primary at 0/3000000 on timeline 1
LOG: received SIGHUP, reloading configuration files
LOG: parameter "sync_replication_slots" changed to "on"
FATAL: replication slot synchronization requires "wal_level" >= "logical"
Environment
-
*PostgreSQL Version:* 17.5
From | Date | Subject | |
---|---|---|---|
Next Message | PG Bug reporting form | 2025-07-24 14:45:17 | BUG #18997: Two equivalent queries return different results |
Previous Message | Patrick Stählin | 2025-07-24 13:46:12 | Re: BUG #18996: Assertion fails in waiteventset.c when dropping database in single mode in PG18 |