首页 > 解决方案 > 调试长时间运行的 'RELEASE SAVEPOINT'

问题描述

我有一个保存点,现在已经运行了将近 24 小时。它会导致其他问题,例如同时刷新物化视图的长时间运行的查询。

有没有办法知道哪个查询RELEASE SAVEPOINT <savepoint-name>导致idle in transaction. 使用SELECT pg_cancel_backend(__pid__);它的pid是否安全?

标签: postgresql

解决方案


如果会话“在事务中空闲”,则它没有运行。

您看到的pg_stat_activity是该会话中执行的最后一条语句。

您的应用程序中有一个错误会导致事务保持打开状态,并且此传输所持有的锁可能会阻塞并发会话。


推荐阅读