1

postgres 客户端正在运行一个可能长时间运行的查询。客户端收到一个 SIGTERM。理想情况下,我希望客户端捕获 SIGTERM,通过发送 a 来清理其查询pg_cancel_backend(pid),然后退出。

这似乎是客户端-服务器数据库架构的常见问题,但我找不到任何解决方案。相反,查询将一直持续到完成,消耗不必要的资源。

客户端如何确定其后端查询的PID?(我并不是说以交互方式查看后端查询并选择与发出的查询相匹配的查询。)例如,PID 是否与持久数据库连接相关联?

psql当按下 ctrl-C 时,这是如何工作的?

4

1 回答 1

1

您可以使用pg_backend_pid()获取PID当前连接。

详情在这里

于 2012-12-17T17:20:16.743 回答