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