pg_locks
中的virtualxid
和transactionid
列显示了当前执行事务的事务 ID。只读事务将具有virtualxid
但transactionid
为 NULL,而读写事务在这两列都将设为已设置。
某些锁类型等待virtualxid
,而其他类型等待transactionid
。行级读写锁直接记录在被锁定的行中,并且可以使用pgrowlocks扩展程序来检查。行级读锁可能还需要分配 multixact ID (mxid
;请参见第 24.1.5.1 节)。