Re: Function to kill backend
От | Magnus Hagander |
---|---|
Тема | Re: Function to kill backend |
Дата | |
Msg-id | 6BCB9D8A16AC4241919521715F4D8BCE17163B@algol.sollentuna.se обсуждение исходный текст |
Ответ на | Function to kill backend ("Magnus Hagander" <mha@sollentuna.net>) |
Ответы |
Re: Function to kill backend
|
Список | pgsql-hackers |
> > In this case, SIGINT (query cancel) will not help, because > all locks > > held by the transaction will still be held. > > Wrong. Really? Please point out where I am wrong in this: SESSION A: BEGIN TRANSACTION SESSION A: LOCK TABLE foo IN ACCESS EXCLUSIVE MODE SESSION B: SELECT * FROM foo <-- blocks (expected)! not-in-session: KILL -INT <pid_of_session_A>(at this point, <pid_of_session_A> is listed as "idle in transaction") SESSION B: <-- still blcoks.... SESSION A: ROLLBACK SESSION B: <-- now completes If I kill it with TERM instead of INT, SESSION B is released at that point. Am I missing something very obvious here? This is on:PostgreSQL 7.4.2 on i686-pc-linux-gnu, compiled by GCC 2.95.3 //Magnus
В списке pgsql-hackers по дате отправления: