WaitForWalReplay wait event (Client) — PostgreSQL

PostgreSQL Client wait event WaitForWalReplay: Waiting for WAL replay to reach a target LSN on a standby.

Summary

WaitForWalReplay is a PostgreSQL Client wait event. The official server documentation describes it as: “Waiting for WAL replay to reach a target LSN on a standby.” (verbatim from PostgreSQL’s wait_event_names.txt catalog).

Classification

  • wait_event: WaitForWalReplay
  • wait_event_type: Client
  • Internal enum: WAIT_EVENT_WAIT_FOR_WAL_REPLAY
  • Reported in: pg_stat_activity

What the Client class indicates

(Paraphrased explanation.) The server is waiting to send data to, or receive data from, the client application it is connected to. Often points at network latency or an idle client holding a transaction open.

How to observe it

(Illustrative query — not from the catalog.) You can see which sessions are currently reporting this wait event in the cumulative statistics view:

SELECT pid, state, wait_event_type, wait_event, query
FROM pg_stat_activity
WHERE wait_event_type = 'Client'
  AND wait_event = 'WaitForWalReplay';

Version applicability

Confirmed present in PostgreSQL major version(s): 19 (verified against each release’s server source).

This wait event was introduced in PostgreSQL 19; it does not appear in earlier releases that were checked.

The machine-readable wait_event_names.txt catalog exists from PostgreSQL 17 onward; presence in PostgreSQL 12–16 was verified directly from the wait-event, lock, and lightweight-lock definitions in those releases’ source code.

References

  • PostgreSQL documentation — Wait Events
  • PostgreSQL source — src/backend/utils/activity/wait_event_names.txt