> [!virtualxid]
> <table><tr><td rowspan="4" width="25%"><img src="assets/wl_lock_virtualxid.png"></td><td><b>Wait Category</b></td><td>Lock</td></tr><tr><td><b>Mechanism</b></td><td><code>VirtualXIDLock</code></td></tr><tr><td><b>Operations</b></td><td><a href="Operations/Table/SeqScan">SeqScan</a></td></tr><tr><td><b>Resources</b></td><td><a href="Resources/RAM">Memory</a>, <a href="Resources/CPU">CPU</a></td></tr><tr><td colspan="3"><b>Read-Only Transaction Synchronization Barrier</b>. To save on the limited 32-bit transaction ID (XID) space, Postgres assigns a "virtual" ID to read-only transactions.</td></tr></table>