This question already has answers here:
Heroku Postgres - terminate hung query (idle in transaction)

(4个答案)


4年前关闭。




这个问题是postmaster在后台运行查询时,如何取消或停止它?

例如,您的 shell 程序或任何前端可能由于网络问题而断开连接,您无法使用ctrl-D杀死它,但是后台邮件管理员仍在运行您的查询。如何杀死它?

最佳答案

我要做的是先检查正在运行的程序

SELECT * FROM pg_stat_activity WHERE state = 'active';

找到您要终止的进程,然后键入:
SELECT pg_cancel_backend(<pid of the process>)

这基本上是“启动”一个优雅终止的请求,尽管查询立即返回,但一段时间后可能会满足。

如果无法终止该进程,请尝试:
SELECT pg_terminate_backend(<pid of the process>)

07-26 09:34
查看更多