是因為同時更新事物失誤。
創(chuàng)新互聯(lián)公司2013年至今,先為臺兒等服務建站,臺兒等地企業(yè),進行企業(yè)商務咨詢服務。為臺兒企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
通常在數(shù)據(jù)庫中最小粒度的鎖是行鎖,當一個事務正在更新某條記錄時,另一個事務如果要更新同一條記錄(或者申請這一條記錄的鎖),則必須等待鎖釋放。
通常持鎖的時間需要保持到事務結束,也就是說,如果一個長事務持有了某條記錄的鎖,其他會話要持有這條記錄的鎖,可能要等很久。
--查詢是否鎖表了
1、select oid from pg_class where relname='可能被鎖掉的表的表名'
,會顯示一個oid
2、select pid from pg_locks where relation='剛剛查出來的oid'
--如果查詢到了結果(pid),表示該表被鎖 則需要釋放鎖定
select pg_cancel_backend(上面查到的pid)
1、查詢正在運行的進程
2、查看等待中的進程
3、釋放鎖定