[英]Deadlock in Postgres
我在pgsql中並行執行幾個查詢時遇到死鎖。 它引發異常
Detail: Process 6656 waits for ShareLock on transaction 609600; blocked by process 8616.
Process 8616 waits for ShareLock on transaction 609603; blocked by process 6656.
Hint: See server log for query details.
在這里如何找到6656是哪個進程(查詢)?
如果您的pgsql版本> = 9.2,則將存在鎖定查詢
select * from pg_stat_activity where pid=6656
如果您的pgsql版本低於9.2,則鎖定查詢將不存在
select * from pg_stat_activity where procpid=6656
為了殺死過程
select pg_terminate_backend(pid_to_kill);
要么
select pg_cancel_backend(pid_to_cancel);
如果使用PGPOOL
,我建議您將pg_cancel_backend
而不是pg_terminate_backend
作為首選。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.