gpt4 book ai didi

postgresql - 如何捕获客户端信号并在后端终止 postgresql 查询?

转载 作者:行者123 更新时间:2023-11-29 13:35:26 25 4
gpt4 key购买 nike

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

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

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

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

最佳答案

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

详情 here .

关于postgresql - 如何捕获客户端信号并在后端终止 postgresql 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13918216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com