作者:瀚高PG实验室 (Highgo PG Lab)- 海无涯
pg_locks视图是对查询无响应时需要查询的重要视图,其各字段机器含义如下:
名字 | 类型 | 引用 | 描述 |
---|---|---|---|
locktype | text | 可锁定对象的类型: relation, extend, page, tuple, transactionid, object, 或者 userlock | |
database | oid | pg_database.oid | 对象所在的数据库的 OID,如果对象是共享对象, 那么就是零,如果对象是一个事务 ID,就是 NULL。 |
relation | oid | pg_class.oid | 关系的 OID,如果对象不是关系,也不是关系的一部分,则为 NULL |
page | integer | 关系内部的页面编号,如果对象不是元组页不是关系页,则为 NULL | |
tuple | smallint | 页面里面的元组编号,如果对象不是元组,则为 NULL | |
transactionid | xid | 事务的 ID,如果对象不是事务 ID,就是 NULL | |
classid | oid | pg_class.oid | 包含该对象的系统表的 OID,如果对象不是普通数据库对象,则为 NULL |
objid | oid | 任何 OID 字段 | 对象在其系统表内的 OID,如果对象不是普通数据库对象,则为 NULL |
objsubid | smallint | 对于表的一个字段,这是字段编号(classid 和 objid 指向表自身)。 对于其它对象类型,这个字段是零。如果这个对象不是普通数据库对象,则为 NULL | |
transaction | xid | 持有此锁或者在等待此锁的事务的 ID。 | |
pid | integer | 持有或者等待这个锁的服务器进程的进程 ID。 如果锁是被一个准备好的事务持有的,那么为空(null)。 | |
mode | text | 这个进程持有的或者是期望的锁模式(参阅 Section 12.3.1) | |
granted | boolean | 如果持有锁,为真,如果等待锁,为假 |