postgres客户端正在运行可能长时间运行的查询。客户端收到SIGTERM。理想情况下,我希望客户端捕获SIGTERM,通过发送pg_cancel_backend(pid)
然后退出来清理其查询。
这似乎是客户端 - 服务器数据库架构的共同关注点,但我找不到任何解决方案。相反,查询将一直持续到完成,消耗不必要的资源。
客户端如何确定其后端查询的PID? (我不是指以交互方式查看后端查询并选择与发出的查询匹配的查询。)例如,PID是否与持久数据库连接相关联?
当按下ctrl-C时使用psql
时这是如何工作的?