首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定期检查已阻塞的查询并取消它们

定期检查已阻塞的查询并取消它们
EN

Database Administration用户
提问于 2014-10-03 15:23:42
回答 1查看 91关注 0票数 0

我有一系列更新查询,每5-10秒执行一次。有时,其中一个会阻塞所有挂起的更新查询,因为由于某种原因,它会被冻结。

既然我有能力丢失一个更新,那么是否有办法定期检查数据库中正在等待的查询,例如超过1分钟的查询,然后取消它们?

EN

回答 1

Database Administration用户

发布于 2014-10-04 15:02:45

您可以通过在记录查询开始时间的较新的pg_stat_activity版本上查询PostgreSQL来做到这一点。

pg_stat_activity在PostgreSQL手册中

使用pg_cancel_backend取消查询,或使用pg_terminate_backend关闭运行查询的连接。

但是,我强烈建议您修复这个问题,这样您的查询就不会被阻塞。当pg_locks被卡住时,看看它,确定它为什么会被卡住,并修复这个问题。阅读关于显式锁定的PostgreSQL手册章节,以及关于锁监视的wiki条目。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/78327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档