PostgreSQL 12系统表(10)pg_locks
视图pg_locks提供了数据库服务器上活动进程中保持的锁的信息。
名称 |
类型 |
引用 |
描述 |
locktype |
text |
|
可锁对象的类型: relation, extend, page, tuple, transactionid, virtualxid, object, userlock或 advisory |
database |
oid |
pg_database.oid |
锁目标存在的数据库的OID,如果目标是一个共享对象则为0,如果目标是一个事务ID则为空 |
relation |
oid |
pg_class.oid |
作为锁目标的关系的OID,如果目标不是一个关系或者只是关系的一部分则此列为空 |
page |
integer |
|
作为锁目标的页在关系中的页号,如果目标不是一个关系页或元组则此列为空 |
tuple |
smallint |
|
作为锁目标的元组在页中的元组号,如果目标不是一个元组则此列为空 |
virtualxid |
text |
|
作为锁目标的事务虚拟ID,如果目标不是一个虚拟事务ID则此列为空 |
transactionid |
xid |
|
作为锁目标的事务ID,如果目标不是一个事务ID则此列为空ID |
classid |
oid |
pg_class.oid |
包含锁目标的系统目录的OID,如果目标不是一个普通数据库对象则此列为空 |
objid |
oid |
任意OID列 |
锁目标在它的系统目录中的OID,如果目标不是一个普通数据库对象则为空 |
objsubid |
smallint |
|
锁的目标列号(classid和objid指表本身),如果目标是某种其他普通数据库对象则此列为0,如果目标不是一个普通数据库对象则此列为空 |
virtualtransaction |
text |
|
保持这个锁或者正在等待这个锁的事务的虚拟ID |
pid |
integer |
|
保持这个锁或者正在等待这个锁的服务器进程的PID,如果此锁被一个预备事务所持有则此列为空 |
mode |
text |
|
此进程已持有或者希望持有的锁模式(参见第13.3.1节和第13.2.3节) |
granted |
boolean |
|
如果锁已授予则为真,如果锁被等待则为假 |
fastpath |
boolean |
|
如果锁通过快速路径获得则为真,通过主锁表获得则为假 |