postgresql中终止正在执行的SQL语句
在Linux系统中可以使用kill [pid]的方式强制删除进程,但对于修改数据表的语句来说,这样可能导致postgresql进入recovery mode,这样会导致锁表。
Postgresql的运行情况可以从pg_stat_activity查看,这是一个位于pg_catalogschema中的视图。其中部分字段如下
datname: 数据库名称pid: 命令的PIDquery_start: SQL语句开始的时间query: SQL语句的内容client_addr: 执行SQL语句的客户端IP地址
对于修改表的操作,例如update、insert等,可以使用pg_catalogschema中的函数pg_terminate_backend函数完成
SELECT pg_terminate_backend(PID);

浙公网安备 33010602011771号