1. 程式人生 > >postgresql查看死鎖及解決方法

postgresql查看死鎖及解決方法

sel can from 數據 post sta 進程 wait nbsp

  • 檢索出死鎖進程的ID

  SELECT * FROM pg_stat_activity WHERE datname=‘數據庫名‘ and waiting=‘t‘;
  找到對用的pid列的值
  或
  select oid from pg_class where relname=‘可能鎖表了的表‘ --oid是每個表隱藏的id
  select pid from pg_locks where relation=‘上面查出的oid‘

  • 將進程殺掉

  select pg_cancel_backend("死鎖那條數據的pid值");
  運行完後,再次刷新這個表,sql就可順利執行。

postgresql查看死鎖及解決方法