現在実行中のトランザクションのトランザクションIDは、pg_locksのvirtualxidとtransactionidに表示されます。
読み出し専用のトランザクションはvirtualxidはありますが、transactionidはNULLです。
一方、読み書きのトランザクションは、両方の列が設定されます。
ロックのタイプによってvirtualxidを待ちますが、他のタイプのロックはtransactionidを待ちます。
行レベルの読み書きロックはロックされた行に直接記録され、pgrowlocks拡張を使用して検査できます。
行レベルの読み取りロックはマルチトランザクションID(mxid。25.1.5.1を参照)の割当ても必要とするかもしれません。