postgresql查看死鎖及解決方法


 

  • 檢索出死鎖進程的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就可順利執行。

 


免責聲明!

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



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