POSTGRES:找出已获取锁定的时间

时间:2018-09-07 10:15:14

标签: postgresql postgresql-9.3 postgresql-9.5

我目前正在使用Postgres作为应用程序的数据库引擎。

我目前遇到一种情况,我有很多READ锁(AccessSharedLocks)。我运行以下查询来检查锁:

attributes(*,CKO_SECRET_KEY,*) = {
  CKA_SENSITIVE=true
}

我想知道一个表获取锁的时间。有什么方法可以检索此信息?

谢谢。

1 个答案:

答案 0 :(得分:0)

获取锁的时间在PostgreSQL中不可用。

最好的办法是从xact_start开始事务pg_stat_activity的开始时间,这是锁的使用期限的下限。

事务应始终简短,因为长事务会锁定并阻止自动清理工作。

如果您有任何长期运行的事务,则可能是必须解决的问题。这样锁就不会有问题了。