> [!LogicalRewriteCheckpointSync] > <table><tr><td rowspan="4" width="25%"><img src="assets/wl_io_logicalrewritecheckpointsync.png"></td><td><b>Wait Category</b></td><td>IO</td></tr><tr><td><b>Mechanism</b></td><td><code>LogicalRewrite</code></td></tr><tr><td><b>Operations</b></td><td><a href="Operations/Distributed/Redistribute">Redistribute</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"><b>Replication State Durability Barrier</b>. When a table is rewritten (e.g., during <code>VACUUM FULL</code>), Postgres must track how the old tuple locations map to new ones so that logical replication subscribers can still interpret the transaction stream.</td></tr></table>