Checking for Locks
当一个事务访问一个关系(比如一个表)时,它获得一个锁。 根据获取的锁的类型,后续事务可能必须等待才能访问相同的关系。 有关锁的类型的更多信息,请参阅“Greenplum数据库管理员指南”中的“管理数据”。 Greenplum数据库资源队列(用于工作负载管理)也使用锁来控制查询进入系统。
gp锁*系列视图可以帮助诊断由于锁定而等待访问对象的查询和会话。
gp_locks_on_relation
该视图显示关系中当前正在维持的锁,以及与锁关联的查询的相关会话信息。 有关锁的类型的更多信息,请参阅“Greenplum数据库管理员指南”中的“管理数据”。 所有用户都可以访问该视图,但非超级用户只能看到他们有权访问的关系的锁。
Table 96: gp_locks_on_relation view
Column | 描述 | lorlocktype | 可锁定对象的类型:关系,扩展,页面,元组,事务id,对象,用户锁,资源队列或咨询 | lordatabase | 对象所在数据库的对象ID,如果对象是共享对象,则为零。 | lorrelname | 关系名 | lorrelation | 关系的对象ID。 | lortransaction | 受锁定影响的事务ID。 | lorpid | 持有或等待此锁的服务器进程的进程ID。 如果该锁被准备好的事务持有,则为NULL。 | lormode | 该进程持有或期望的锁定模式的名称。 | lorgranted | 显示锁是否被授予(true)或不被授予(false)。 | lorcurrentquery | 会话中的当前查询。 |
|