Activity waits
Activity is mostly the sound of a healthy idle background process. Archiver, checkpointer, WAL writer, autovacuum launcher, replication workers, and related processes publish distinct names while waiting in their main loop.
Interpret by backend type
These events should not be counted in a foreground “waiting session percentage.” Instead, compare the event with backend_type and ask whether that process should currently have work.
- Normal: one matching background process waits in its documented main loop.
- Watch: the event appears on the wrong backend type, the process is absent, or work queues grow while it remains idle.
- Urgent: required background progress has stopped—archiving backlog, no checkpoints, replication not advancing, or shutdown unable to finish.
Events to recognize
| Event | Expected process |
|---|---|
| AutovacuumMain | Autovacuum launcher between scheduling cycles |
| CheckpointerMain | Checkpointer awaiting work |
| WalWriterMain | WAL writer main loop |
| ArchiverMain | Archiver waiting for a completed segment |
| WalReceiverMain | WAL receiver main loop |
| RecoveryWalStream | Startup process waiting for streamed WAL |
| IoWorkerMain | PG18 asynchronous I/O worker awaiting work |
Common misreads
- Activity waits dominating all backends can simply mean the cluster is idle.
- An idle checkpointer is not evidence that checkpoints are disabled.
- A normal wait name does not prove progress; check the queue/backlog and timestamps.
- Missing expected background processes is often more important than seeing their Activity wait.
Waiting in main loop of archiver process
Waiting in main loop of autovacuum launcher process
Waiting in background writer process, hibernating
Waiting in main loop of background writer process
Waiting in main loop of checkpointer process
Waiting for checkpointer process to be terminated
Waiting in main loop of IO Worker process
Waiting in main loop of logical replication apply process
Waiting in main loop of logical replication launcher process
Waiting in main loop of logical replication parallel apply process
Waiting in main loop of statistics collector process.
Waiting in main loop of startup process for WAL to arrive, during streaming recovery
Waiting in main loop of slot sync worker
Waiting for slot sync worker to shut down
Waiting in main loop of syslogger process
Waiting in main loop of WAL receiver process
Waiting in main loop of WAL sender process
Waiting in WAL summarizer for more WAL to be generated
Waiting in main loop of WAL writer process