PG_LOCKS
PG_LOCKS视图存储各打开事务所持有的锁信息。
名称 | 类型 | 引用 | 描述 |
|---|---|---|---|
locktype | text | - | 被锁定对象的类型:relation,extend,page,tuple,transactionid,virtualxid,object,userlock,advisory。 |
database | oid | PG_DATABASE.oid | 被锁定对象所在数据库的OID。
|
relation | oid | PG_CLASS.oid | 被锁定对象关系的OID,如果锁定的对象不是关系,也不是关系的一部分,则为NULL。 |
page | integer | - | 关系内部的页面编号,如果对象不是关系页或者不是行页,则为NULL。 |
tuple | smallint | - | 页面里边的行编号,如果对象不是行,则为NULL。 |
virtualxid | text | - | 事务的虚拟ID,如果对象不是一个虚拟事务ID,则为NULL。 |
transactionid | xid | - | 事务的ID,如果对象不是一个事务ID,则为NULL。 |
classid | oid | PG_CLASS.oid | 包含该对象的系统表的OID,如果对象不是普通的数据库对象,则为NULL。 |
objid | oid | - | 对象在其系统表内的OID,如果对象不是普通数据库对象,则为NULL。 |
objsubid | smallint | - | 对于表的某个字段对应为字段编号;对于其他对象类型,该字段为0;如果该对象不是普通数据库对象,则为NULL。 |
virtualtransaction | text | - | 持有此锁或者在等待此锁的事务的虚拟ID。 |
pid | bigint | - | 持有此锁或者等待此锁的服务器线程的逻辑ID。如果锁被一个预备事务持有,则为NULL。 |
mode | text | - | 此线程持有的或者是期望持有的锁模式。更多有关锁模式的内容请参见LOCK章节。 |
granted | boolean | - |
|
fastpath | boolean | - | 如果通过fast-path获得锁,则为TRUE;如果通过主锁表获得,则为FALSE。 |
waittime | timestamp with time zone | - | 开始等待锁的时间戳。 该字段仅9.1.0.200及以上集群版本支持。 |
holdtime | timestamp with time zone | - | 开始持有锁的时间戳。该字段仅9.1.0.200及以上集群版本支持。 |

