Unexpected Standby Shutdown on sync_replication_slots change

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

Responses

Browse pgsql-bugs by date

  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