postgresql 死锁问题解决记录

时间:2015-02-10 18:58:05   收藏:0   阅读:374
--查询阻塞的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)

原文:http://my.oschina.net/u/877170/blog/377404

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!