postgresql 死鎖問題解決記錄

--查詢阻塞的sql( 死鎖了,沒有執行經過的sql )
select * from pg_stat_activity aa,
(
select a.locktype,a.database,a.pid,a.mode,a.relation,b.relname from pg_locks a join pg_class b on a.relation=b.oid
 where upper(b.relname)='FX_WDSJ_DSZH'
) bb
where aa.pid=bb.pid
 and aa.waiting='t'

--釋放 死鎖的sql
select pg_cancel_backend(上面查詢到的pid)
--查詢是否鎖表了
select oid from pg_class where relname='可能鎖表了的表' --oid是每一個表隱藏的id
select pid from pg_locks where relation='上面查出的oid'
--若是查詢到告終果 則釋放鎖定
select pg_cancel_backend(上面查到的pid)
相關文章
相關標籤/搜索