Re: Query failed: ERROR: deadlock detected
От | Oliver Elphick |
---|---|
Тема | Re: Query failed: ERROR: deadlock detected |
Дата | |
Msg-id | 1125336357.2589.8.camel@linda обсуждение исходный текст |
Ответ на | Query failed: ERROR: deadlock detected (Aldor <an@mediaroot.de>) |
Ответы |
Re: Query failed: ERROR: deadlock detected
|
Список | pgsql-admin |
On Mon, 2005-08-29 at 16:50 +0100, Aldor wrote: > PostgreSQL 8.0.3: Any idea what this is? > > --- > Warning: pg_query(): Query failed: ERROR: deadlock detected > DETAIL: Process 8835 waits for ShareLock on transaction 193588236; > blocked by process 8834. > Process 8834 waits for ShareLock on transaction 193588228; blocked by > process 8835 > --- > > I have never seen such a log entry until now. You have two transactions locking each other out. For example: trans A: begin; trans B: begin; trans A: select * from table_a for update; -- locks table_a trans B: select * from table_b for update; -- locks table_b trans A: select * from table_b for update; -- blocked by trans B's lock trans B: select * from table_a for update; -- blocked by trans A's lock Since the two transactions are blocking each other, the locks will never be released by the transactions that are holding them. After a preset interval (about 1 second by default) a deadlock is detected and reported with this error message and one of the transactions is aborted. See manual section 12.3.3 in the 8.0 documentation. -- Oliver Elphick olly@lfix.co.uk Isle of Wight http://www.lfix.co.uk/oliver GPG: 1024D/A54310EA 92C8 39E7 280E 3631 3F0E 1EC0 5664 7A2F A543 10EA ======================================== Do you want to know God? http://www.lfix.co.uk/knowing_god.html
В списке pgsql-admin по дате отправления: