ClientWrite wait event (Client) — PostgreSQL

PostgreSQL Client wait event ClientWrite: Waiting to write data to the client.

Summary

ClientWrite is a PostgreSQL Client wait event. The official server documentation describes it as: “Waiting to write data to the client.” (verbatim from PostgreSQL’s wait_event_names.txt catalog).

Classification

  • wait_event: ClientWrite
  • wait_event_type: Client
  • Internal enum: WAIT_EVENT_CLIENT_WRITE
  • 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 = 'ClientWrite';

Version applicability

Confirmed present in PostgreSQL major version(s): 12, 13, 14, 15, 16, 17, 18, 19 (verified against each release’s server source).

This is a long-standing wait event: it is present at least as far back as PostgreSQL 12 (the oldest release checked here) and very likely predates it.

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