程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> PostgreSQL >> PostgreSQL中關閉死鎖進程的方法

PostgreSQL中關閉死鎖進程的方法

編輯:PostgreSQL

由於使用的PostgreSQL數據庫,沒有資料。只好進行谷歌。

最終在一個英文論壇中發現了解決方法。

如下:

1.檢索出死鎖進程的ID

復制代碼 代碼如下:
SELECT * FROM pg_stat_activity WHERE datname='死鎖的數據庫ID ';

檢索出來的字段中,【wating 】字段,數據為t的那條,就是死鎖的進程。找到對應的【procpid 】列的值。

2.將進程殺掉

復制代碼 代碼如下:
SELECT pg_cancel_backend('死鎖那條數據的procpid值 ');

結果:運行完後,再次更新這個表,sql順利執行。
 
ps:查找了一下數據庫自己的函數列表,發現pg_terminate_backend()函數也可以殺掉進程。

官網上給出的內容:http://www.postgresql.org/docs/9.0/static/functions-admin.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved