用于监控数据库活动的另一个有用的工具是系统表 pg_locks
。它允许数据库管理员查看锁管理器中未完成锁的信息。例如,此功能可用于
-
查看当前未完成的所有锁、特定数据库中关系的所有锁、特定关系上的所有锁或特定 PostgreSQL 会话持有的所有锁。
-
确定当前数据库中具有最多未授予锁的关系(这可能是数据库客户端之间的争用来源)。
-
确定锁争用对整体数据库性能的影响,以及争用在多大程度上随着整体数据库流量而变化。
有关 pg_locks
视图的详细信息,请参见 第 52.12 节。有关使用 PostgreSQL 进行锁定和管理并发性的详细信息,请参阅 第 13 章。