postgreSql檢視死鎖及解決辦法

2021-06-23 09:15:58 字數 476 閱讀 6537

1.檢視資料庫的程序。select * from pg_stat_activity where datname='死鎖的資料庫id ';

檢索出來的字段中,【wating 】字段,資料為t的那條,就是死鎖的程序,找到對應的【procpid 】列的值。

例如:select  procpid  from pg_stat_activity where datname='資料庫id' and waiting ='t';

2.殺掉程序。

kill有兩種方式,第一種是:

select pg_cancel_backend(pid);

這種方式只能killselect查詢,對update、delete 及dml不生效)

第二種是:

select pg_terminate_backend(pid);

這種可以kill掉各種操作(select、update、delete、drop等)操作

Oracle檢視死鎖

檢視有哪些表被鎖住 select b.owner,b.object name,a.session id,a.locked mode from v locked object a,dba objects b where b.object id a.object id select b.username...

檢視死鎖p lockinfo

set quoted identifier on go set ansi nulls on go exec proc p lockinfo 0,0 alter proc p lockinfo kill lock spid bit 1,是否殺掉死鎖的程序,1 殺掉,0 僅顯示 show spid if...

GDB 檢視死鎖

死鎖 一種情形,此時執行程式中兩個或多個執行緒發生永久堵塞 等待 每個執行緒都在等待被 其他執行緒占用並堵塞了的資源。例如,如果執行緒a鎖住了記錄1並等待記錄2,而執行緒b鎖住了記錄2並等待記錄1,這樣兩個執行緒就發生了死鎖現象。gdb除錯死鎖的方法 gdb attach pid 找到 lll lo...