【Gp】PostgreSql中如何kill掉正在執行的sql語句
雖然可以使用 kill -9 來強制刪除使用者程式,但是不建議這麼去做。
因為:對於執行update的語句來說,kill掉程式,可能會導致Postgres進入到recovery mode
而在recovery mode下,會鎖表,不允許連結資料庫。
通常情況下:使用如下語句
=# select datname,procpid,query_start,current_query,waiting,client_addr from pg_stat_activity where waiting='t';
來檢視有哪些SQL正在執行。
透過命令:
=# select pg_cancel_backend(執行緒id);
來kill掉指定的SQL語句。
(這個函式只能 kill Select 查詢,而updae,delete DML不生效)
使用
=# select pg_terminate_backend(pid int)
可以kill 各種DML(SELECT,UPDATE,DELETE,DROP)操作
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2141808/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 查詢當前正在執行的SQL語句並KILLSQL
- 查詢正在執行的SQL語句SQL
- 查詢Oracle正在執行的SQL語句OracleSQL
- 檢視mysql正在執行的SQL語句MySql
- 查詢正在執行的sql語句及該語句執行的時間SQL
- sql語句如何執行的SQL
- 查詢Oracle正在執行和執行過的SQL語句OracleSQL
- 查詢Oracle正在執行的sql語句及執行該語句的使用者OracleSQL
- 一條SQL語句在MySQL中如何執行的MySql
- Oracle 查詢某個session正在執行的sql語句OracleSessionSQL
- 檢視當前oracle中正在執行的sql語句OracleSQL
- oracle 中如何顯示sql語句的執行時間和sql語句的執行後的當前時間OracleSQL
- 一條sql語句在mysql中是如何執行的MySql
- sql server中如何檢視執行效率不高的語句SQLServer
- 一條 SQL 語句在 MySQL 中是如何執行的?MySql
- 通過日誌檢視mysql正在執行的SQL語句MySql
- mysql如何跟蹤執行的sql語句MySql
- 獲取oracle正在處於等待狀態的sql語句的執行計劃的語句OracleSQL
- 在事務中執行sql語句SQL
- 在nhibernate中執行SQL語句SQL
- 執行大的sql語句SQL
- 一條update SQL語句是如何執行的SQL
- 一條SQL更新語句是如何執行的SQL
- 一條SQL更新語句是如何執行的?SQL
- sql語句批量執行SQL
- 找出session正在執行什麼語句Session
- 利用pl/sql執行本地的sql檔案中的sql語句SQL
- 一條更新的SQL語句是如何執行的?SQL
- oracle之 v$sql_monitor 監視正在執行的SQL語句的統計資訊OracleSQL
- SQL SERVER 中構建執行動態SQL語句SQLServer
- mysql的sql語句執行流程MySql
- SQL 語句的執行順序SQL
- 一條 SQL 查詢語句是如何執行的?SQL
- php如何嫵媚地生成執行的sql語句PHPSQL
- SQL語句執行順序SQL
- toad執行sql語句SQL
- 輸入的查詢 SQL 語句,是如何執行的?SQL
- PostgreSQL的insert語句執行過程分析SQL