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