GUC Parameters / Replication
wal_sender_timeout
Read the PG 18 manualTerminate replication connections that are inactive for longer than this amount of time.
Reading PG 18current·documented in 15 of 24 versions, 9.3 to 20
- Type
- integer
- Context
- user
- Measured default
- 1 min
- Unit
- ms
- Metadata snapshot
- 18
Definition PG 18 manual
Terminate replication connections that are inactive for longer than this amount of time. This is useful for the sending server to detect a standby crash or network outage. If this value is specified without units, it is taken as milliseconds. The default value is 60 seconds. A value of zero disables the timeout mechanism.
With a cluster distributed across multiple geographic locations, using different values per location brings more flexibility in the cluster management. A smaller value is useful for faster failure detection with a standby having a low-latency network connection, and a larger value helps in judging better the health of a standby if located on a remote location, with a high-latency network connection.
Measured default history
| Version interval | Default |
|---|---|
| 9.3 – 19 | 1 min |
Authored guidance from the GUC source snapshot; the version-specific manual above is the definition reference. View source
How it works
Sets the maximum time to wait for WAL replication. It can be changed at session scope, so different sessions may observe different behavior.
A WAL sender terminates a replication connection that remains inactive for this interval. Each sender session may use a location-appropriate value; zero disables detection and very short settings cause churn across high-latency links.
Monitor and change wal_sender_timeout together with max_wal_senders, max_replication_slots, wal_level. Validate on the relevant server role and real workload, then use its user context to choose session change, reload, or restart; a historical boot default is not the current effective value.
Operational considerations
Changing it on the wrong primary, standby, sender, or subscriber role.
Watching only configured bytes/time instead of actual lag, slot position, and worker state.
Failing over to a node that lacks the old primary's capacity or prerequisites.
Using infinite waits or WAL retention to hide a failed consumer.
Workload guidance
OLAP: Read standbys and logical subscribers often see long queries or large transactions. Put explicit bounds on replay/apply and monitor lag, worker saturation, slot restart_lsn, and conflict cancellations.
OLTP: Size wal_sender_timeout from topology, failover roles, slot/subscription count, and reconnect headroom. Test worst-case primary latency, standby replay, and disk retention before production.
SMALL: Configure only replication capacity that is actually used. Even a small topology needs bounded timeouts and slot lifecycle; unlimited retention is not reliability.
Related entries
Further reading
Definition snapshot: english-manuals:5fd62ce2e7d993b7383710fa6dc… · English manual source