> [!WALInitWrite]
> <table><tr><td rowspan="4" width="25%"><img src="assets/wl_io_walinitwrite.png"></td><td><b>Wait Category</b></td><td>IO</td></tr><tr><td><b>Mechanism</b></td><td><code>XLogFileInit</code></td></tr><tr><td><b>Operations</b></td><td><a href="Operations/Tuple/ModifyTable">ModifyTable</a>, <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">This wait event represents a <b>Storage Allocation Stall</b>. To avoid the performance penalty of dynamic file expansion during critical transaction commits, Postgres proactively "pre-allocates" WAL files by creating them ahead of time and filling them with zeros.</td></tr></table>