> [!CheckpointDone]
> <table><tr><td rowspan="4" width="25%"><img src="assets/wl_ipc_checkpointdone.png"></td><td><b>Wait Category</b></td><td>IPC</td></tr><tr><td><b>Mechanism</b></td><td><code>RequestCheckpoint</code></td></tr><tr><td><b>Operations</b></td><td><a href="Operations/ResultSet/Materialize">Materialize</a></td></tr><tr><td><b>Resources</b></td><td><a href="Resources/disk IO">disk IO</a>, <a href="Resources/CPU">CPU</a></td></tr><tr><td colspan="3">That a backend is waiting for the <b>Checkpointer's Final Acknowledgment</b>. While the actual work of a checkpoint (writing pages) can be spread out over time, the "completion" phase requires a synchronized handshake where the checkpointer updates the control file and truncates the WAL.</td></tr></table>