在Linux系統中可以使用kill [pid]
的方式強制刪除進程,但對於修改數據表的語句來說,這樣可能導致postgresql進入recovery mode,這樣會導致鎖表。
Postgresql的運行情況可以從pg_stat_activity
查看,這是一個位於pg_catalog
schema中的視圖。其中部分字段如下
datname
: 數據庫名稱pid
: 命令的PIDquery_start
: SQL語句開始的時間query
: SQL語句的內容client_addr
: 執行SQL語句的客戶端IP地址
對於修改表的操作,例如update、insert等,可以使用pg_catalog
schema中的函數pg_terminate_backend
函數完成
SELECT pg_terminate_backend(PID);