在知道是哪個表被鎖了的前提下:
查詢是否鎖表
--查詢是否鎖表了
--根據表名查詢
select oid from pg_class where relname =
'table_name'
;--根據查出來的oid查詢pid
select pid from pg_locks where relation =
'oid'
;
釋放鎖
--如果查詢到了結果,表示該錶被鎖,則需要釋放鎖定
select pg_cancel_backend(
'pid'
);
在不知道是哪個表被鎖了的情況下:
查詢處於等待中的process
--查詢正在執行的process中處於等待中的process
select
*from pg_stat_activity where waiting=
't';
釋放鎖
--如果查詢到了結果,表示該錶被鎖,則需要釋放鎖定
select pg_cancel_backend(
'pid'
);
postgres 表級鎖 行級鎖。死鎖
下面的列表顯示了可用的鎖模式和它們被 postgresql 自動使用的環境。你也可以用命令 lock 明確獲取這些鎖。請注意所有這些鎖模式都是表級鎖,即使它們的名字包含單詞 row 這些鎖模式的名稱是歷史造成的。從某種角度而言,這些名字反應了每種鎖模式的典型用法 但是語意都是一樣的。兩種鎖模式之間真...
ORACLE解決鎖表問題
下面3個語句是我經常使用來解決oracle鎖問題的 注意你的使用者有沒有許可權問題 1.檢視被鎖的表 select p.spid,a.serial c.object name,b.session id,b.oracle username,b.os user name from v process p...
oracle 解決鎖表問題
一些oracle中的程序被殺掉後,狀態被置為 killed 但是鎖定的資源很長時間不釋放,有時實在沒辦法,只好重啟資料庫。現在提供一種方法解決這種問題,那就是在oracle中殺不掉的,在os一級再殺。1.下面的語句用來查詢哪些物件被鎖 select object name,machine,s.sid...