主頁 > 知識庫 > 基于postgresql數(shù)據(jù)庫鎖表問題的解決

基于postgresql數(shù)據(jù)庫鎖表問題的解決

熱門標(biāo)簽:漯河外呼電話系統(tǒng) 海豐有多少商家沒有地圖標(biāo)注 外呼調(diào)研系統(tǒng) 打電話智能電銷機(jī)器人授權(quán) 重慶自動外呼系統(tǒng)定制 合肥公司外呼系統(tǒng)運(yùn)營商 辦公外呼電話系統(tǒng) 地圖標(biāo)注和圖片名稱的區(qū)別 美容工作室地圖標(biāo)注

查詢是否鎖表了

select oid from pg_class where relname='可能鎖表了的表'
select pid from pg_locks where relation='上面查出的oid'

如果查詢到了結(jié)果,表示該表被鎖 則需要釋放鎖定

select pg_cancel_backend(上面查到的pid)

補(bǔ)充:PostgreSQL 解決鎖表、死鎖問題

1.-- 查詢ACTIVITY的狀態(tài)等信息

SELECT T
 .PID,
 T.STATE,
 T.QUERY,
 T.WAIT_EVENT_TYPE,
 T.WAIT_EVENT,
 T.QUERY_START 
FROM
 PG_STAT_ACTIVITY T
WHERE
 T.DATNAME = '數(shù)據(jù)庫用戶名';

上面查詢結(jié)果中:pid就是ACTIVITY的唯一標(biāo)識,state就是活動狀態(tài),query就是正在執(zhí)行的sql語句,query——start就是開始執(zhí)行的時間。

2.-- 查詢死鎖的ACTIVITY

SELECT T
 .PID,
 T.STATE,
 T.QUERY,
 T.WAIT_EVENT_TYPE,
 T.WAIT_EVENT,
 T.QUERY_START 
FROM
 PG_STAT_ACTIVITY T 
WHERE
 T.DATNAME = '數(shù)據(jù)庫用戶名' 
 AND T.WAIT_EVENT_TYPE = 'Lock';

3.將第二條查詢語句的pid字段的數(shù)字值記錄下來,執(zhí)行下面的查詢語句可以解鎖:

-- 通過pid解鎖對應(yīng)的ACTIVITY

select PG_CANCEL_BACKEND('6984');

上面的查詢語句,執(zhí)行了pg_cancel_backend()函數(shù),該函數(shù)是取消后臺操作,回滾未提交事物的用途。

4.解決idle in transaction

select pg_terminate_backend ('21967')

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • PostgreSQL 實(shí)現(xiàn)登錄及修改密碼操作
  • postgresql表死鎖問題的排查方式
  • Postgresql - 查看鎖表信息的實(shí)現(xiàn)
  • 基于postgresql行級鎖for update測試
  • Postgresql鎖機(jī)制詳解(表鎖和行鎖)
  • postgresql查詢鎖表以及解除鎖表操作
  • PostgreSQL中關(guān)閉死鎖進(jìn)程的方法
  • PostgreSQL用戶登錄失敗自動鎖定的處理方案

標(biāo)簽:來賓 烏海 錦州 晉城 衡陽 蚌埠 珠海 株洲

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于postgresql數(shù)據(jù)庫鎖表問題的解決》,本文關(guān)鍵詞  基于,postgresql,數(shù)據(jù)庫,鎖表,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于postgresql數(shù)據(jù)庫鎖表問題的解決》相關(guān)的同類信息!
  • 本頁收集關(guān)于基于postgresql數(shù)據(jù)庫鎖表問題的解決的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章