pg_locks

pg_locks视图提供了有关在Greenplum数据库中由打开的事务持有的锁的信息的访问。

pg_locks包含一行关于每个积极可锁对象,请求的锁模式和相关事务。 因此,如果多个事务正在持有或等待其上的锁,同样的可锁对象可能会出现多次。 但是,目前没有锁的对象根本就不会出现。

存在几种不同类型的可锁定对象:完整关系(例如表),关系的各个页面,关系的单个元组,事务ID(虚拟和永久ID)以及通用数据库对象。 此外,扩展关系的权利表示为单独的可锁定对象。

Table 1. pg_catalog.pg_locks

类型 参考 描述
locktype text 可锁对象的类型:relation, extend, page, tuple, transactionid, object, userlock, resource queueadvisory
database oid pg_database.oid 该对象存在的数据库的Oid,如果该对象是共享对象,则为0。 如果对象是事务ID,则为空。
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 any OID column 其系统目录中对象的OID,如果对象不是一般数据库对象,则为NULL
objsubid smallint 对一个表列来说,这是列号( classid和objid引用表本身)。 对于所有其他的对象类型,此列为0。 如果对象不是数据库对象,则为NULL
virtualtransaction text 持有或等待此锁定的事务的虚拟ID
pid integer 持有或等待该锁的事务进程的进程Id。 如果锁定由准备好的事务持有,则为NULL
mode text 该进程所持有或期望的锁模式的名称
granted boolean 锁被持有为真,锁为等待为假
fastpath boolean 如果通过快速路径进行锁定则为True,如果通过主锁定表进行锁定则为false。
mppsessionid integer 与锁相关的客户端会话的id。
mppiswriter boolean 指明该锁是否由一个写进程所持有。
gp_segment_id integer Greenplum持有该锁的segment的id(dbid)。

Parent topic: 系统目录定义

当前内容版权归GreenPlum和翻译组所有,若有侵权请联系删除下架 修订时间: 2024-09-15 21:48:11

results matching ""

    No results matching ""