postgresql中終止正在執行的SQL語句


在Linux系統中可以使用kill [pid]的方式強制刪除進程,但對於修改數據表的語句來說,這樣可能導致postgresql進入recovery mode,這樣會導致鎖表。

Postgresql的運行情況可以從pg_stat_activity查看,這是一個位於pg_catalogschema中的視圖。其中部分字段如下

  • datname: 數據庫名稱
  • pid: 命令的PID
  • query_start: SQL語句開始的時間
  • query: SQL語句的內容
  • client_addr: 執行SQL語句的客戶端IP地址

對於修改表的操作,例如update、insert等,可以使用pg_catalogschema中的函數pg_terminate_backend函數完成

SELECT pg_terminate_backend(PID);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM