我有一个长的SQL查询执行过程。当我关闭浏览器页面时,SQL查询(PostgreSQL)的执行仍在继续。如何停止在关闭页面时执行它?
我有一个长的SQL查询执行过程。当我关闭浏览器页面时,SQL查询(PostgreSQL)的执行仍在继续。如何停止在关闭页面时执行它?
你无法保证没有 JavaScript 时会断开连接,确保知道窗口已关闭的唯一真正方法是让它不断地向服务器发送请求 -- 有时页面关闭事件不会触发。因此,你基本上需要在后台跟踪这些请求,如果在给定时间内没有请求,就调用 kill 进程。
据我所知,不可能在不以管理员身份登录并强制关闭威胁的情况下告诉 PostgreSQL 连接。该方法称为 pg_cancel_backend。我不会使用命令行 kill 强制终止进程。通过使用内置工具可以避免可能带来的影响。
您可以在服务器上终止该进程。
sudo apache2ctl restart