Client: LibpqwalreceiverReceive
Waiting in WAL receiver to receive data from remote server
PostgreSQL wait event dossier
ClassClient
Event
LibpqwalreceiverReceive
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting in WAL receiver to receive data from remote server
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: Client/LibPQWalReceiverReceive (PG 13-16)
Trigger mechanism
WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE at src/backend/replication/libpqwalreceiver/libpqwalreceiver.c:876 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:283. The instrumented operation is: Waiting in WAL receiver to receive data from remote server. The frontend protocol path reports LibpqwalreceiverReceive immediately before a socket, TLS/GSS, or replication-client operation blocks. PostgreSQL is waiting for the remote side or network to progress.
Normal or trouble?
- Normal: Idle ClientRead sessions are normal connection-pool inventory.
- Investigate: Investigate active writes, handshakes, old idle-in-transaction sessions, connection exhaustion, or replication-client stalls.
Diagnostic SQL
Sessions waiting on Client/LibpqwalreceiverReceive
Current Client cohort
Lock and relation context for these sessions
Response
- Check state and transaction age before counting the wait as load.
- Correlate with the owning application, pool, and network path.
- Fix consumer backpressure or pool policy rather than repeatedly terminating connections.
Source evidence
- PostgreSQL 16.15 · src/backend/replication/libpqwalreceiver/libpqwalreceiver.c:876 —
WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:283 —
LibPQWalReceiverReceive - PostgreSQL 18.6 · src/backend/replication/libpqwalreceiver/libpqwalreceiver.c:258 —
WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:89 —
LIBPQWALRECEIVER_RECEIVE
Related controls and signals
- GUCs: [guc:wal_buffers] · [guc:synchronous_commit] · [guc:max_connections] · [guc:idle_in_transaction_session_timeout]
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:wal_bytes] · [metric:wal_write_time] · [metric:active_backends]