基于postgresql數(shù)據(jù)庫(kù)鎖表問(wèn)題的解決
查詢(xún)是否鎖表了
select oid from pg_class where relname='可能鎖表了的表' select pid from pg_locks where relation='上面查出的oid'
如果查詢(xún)到了結(jié)果,表示該表被鎖 則需要釋放鎖定
select pg_cancel_backend(上面查到的pid)
補(bǔ)充:PostgreSQL 解決鎖表、死鎖問(wèn)題
1.-- 查詢(xún)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ù)庫(kù)用戶(hù)名';

上面查詢(xún)結(jié)果中:pid就是ACTIVITY的唯一標(biāo)識(shí),state就是活動(dòng)狀態(tài),query就是正在執(zhí)行的sql語(yǔ)句,query——start就是開(kāi)始執(zhí)行的時(shí)間。
2.-- 查詢(xún)死鎖的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ù)庫(kù)用戶(hù)名' AND T.WAIT_EVENT_TYPE = 'Lock';
3.將第二條查詢(xún)語(yǔ)句的pid字段的數(shù)字值記錄下來(lái),執(zhí)行下面的查詢(xún)語(yǔ)句可以解鎖:
-- 通過(guò)pid解鎖對(duì)應(yīng)的ACTIVITY
select PG_CANCEL_BACKEND('6984');
上面的查詢(xún)語(yǔ)句,執(zhí)行了pg_cancel_backend()函數(shù),該函數(shù)是取消后臺(tái)操作,回滾未提交事物的用途。
4.解決idle in transaction
select pg_terminate_backend ('21967')
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
postgresql SQL語(yǔ)句變量的使用說(shuō)明
這篇文章主要介紹了postgresql SQL語(yǔ)句變量的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
PostgreSql新手必學(xué)入門(mén)命令小結(jié)
這篇文章主要介紹了PostgreSql新手必學(xué)入門(mén)命令小結(jié),本文講解了命令行登錄數(shù)據(jù)庫(kù)、查看幫助、常用命令等內(nèi)容,需要的朋友可以參考下2015-02-02
PostgreSQL教程(一):數(shù)據(jù)表詳解
這篇文章主要介紹了PostgreSQL教程(一):數(shù)據(jù)表詳解表的定義、系統(tǒng)字段、表的修改、表的權(quán)限等4大部份內(nèi)容,內(nèi)容種包括表的創(chuàng)建、刪除、修改、字段的修改、刪除、主鍵和外鍵、約束添加修改刪除等,本文講解了,需要的朋友可以參考下2015-05-05
pgsql之pg_stat_replication的使用詳解
這篇文章主要介紹了pgsql之pg_stat_replication的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
Centos環(huán)境下Postgresql 安裝配置及環(huán)境變量配置技巧
本文給大家分享在Centos環(huán)境下Postgresql 安裝配置及環(huán)境變量配置技巧,給大家?guī)?lái)了詳細(xì)的安裝步驟,對(duì)Postgresql 安裝配置相關(guān)知識(shí)感興趣的朋友跟隨小編一起學(xué)習(xí)吧2021-05-05
PostgreSQL 對(duì)IN,EXISTS,ANY/ALL,JOIN的sql優(yōu)化方案
這篇文章主要介紹了PostgreSQL 對(duì)IN,EXISTS,ANY/ALL,JOIN的sql優(yōu)化方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
PostgreSQL物理備份恢復(fù)之 pg_rman的用法說(shuō)明
這篇文章主要介紹了PostgreSQL物理備份恢復(fù)之 pg_rman的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
Ubuntu中卸載Postgresql出錯(cuò)的解決方法
這篇文章主要給大家介紹了關(guān)于在Ubuntu中卸載Postgresql出錯(cuò)的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09

