pg數據庫鎖表,postgre 表被加鎖無法解鎖問題

 2023-11-14 阅读 21 评论 0

摘要:感謝作者! 文章來源: pg數據庫鎖表?http://blog.csdn.net/zhanghaolpc/article/details/5594576 ? 最近遇到一個很郁悶的問題,在運行npgsql時使用了它的分布式事務(System.Transaction不是DbTransaction),結果發現一旦程序異常后就

感謝作者!

文章來源:

pg數據庫鎖表?http://blog.csdn.net/zhanghaolpc/article/details/5594576

?

最近遇到一個很郁悶的問題,在運行npgsql時使用了它的分布式事務(System.Transaction不是DbTransaction),結果發現一旦程序異常后就無法繼續對相應的表進行操作了。

平板鎖住了怎么解鎖,調查了一下原來postgre對這個表加了鎖,但是無法釋放,重啟postgre的服務也無濟于事,最后還是在浩瀚的文檔中發現了一個辦法來回滾事務,就OK啦。

具體做法如下:

1.查詢鎖:
postgre查詢鎖
SELECT t1.locktype ,t1.granted , t1.mode ,t2.relname,t3.datname,t3.usename,t3.current_query? from pg_locks? t1
left join pg_class t2 on relation = oid
left join pg_stat_activity t3 on t1.pid = t3.procpid
如果發現返回的結果集中有你無法操作的那個表證明他被加鎖了。

2.執行:select * from pg_prepared_xacts

應用鎖?這個視圖時當前可用的預備事務的系統視圖,會列出在postgre上prepare的所有預備的事務(Transaction)。

3.回滾:ROLLBACK PREPARED gid

激活鎖?(回滾一個處于準備好狀態的事務)

上面那些事務肯定包含程序異常后的無法處理的那個預備事務。把Gid換成2中查詢結果中的guid就可以回滾這個事務了。

表鎖了怎么解鎖 oracle?再試試這個表,一切恢復正常!

?

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/172918.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息