Re: Deadlock Problem

Поиск
Список
Период
Сортировка
От Gavin Love
Тема Re: Deadlock Problem
Дата
Msg-id 42B017CF.1040905@aardvarkmedia.co.uk
обсуждение исходный текст
Ответ на Re: Deadlock Problem  (Csaba Nagy <nagy@ecircle-ag.com>)
Ответы Re: Deadlock Problem
Список pgsql-general
Hi Csaba,

I am not ordering them by ID as in reality the where condition is more
complex than in my example

UPDATE stats SET click_count = click_count+1 WHERE month = '06' AND year
= '2005' AND type = 'a' AND id = '123' AND count_type = 'b'";

Can you explain why sorting by ID would make a difference as I don't
understand why what you are suggesting should make a difference?

Thanks,

Gavin

Csaba Nagy wrote:
> Gavin,
>
> Are you ordering the updates by id inside one transaction ? You should
> order the execution of the statements by id inside a transaction, and
> the deadlocks should go away.
>
> HTH,
> Csaba.
>
> On Wed, 2005-06-15 at 13:10, Gavin Love wrote:
>
>>I am getting a number of deadlock errors in my log files and I was
>>wondering if anyone knows how I can stop them.
>>
>>Query failed: ERROR:  deadlock detected DETAIL:  Process 11931 waits for
>>ShareLock on transaction 148236867; blocked by process 11932. Process
>>11932 waits for ShareLock on transaction 148236866; blocked by process
>>11931.
>>
>>This is for a web application. Whenever a search result is displayed I
>>need to update a counter to say it has been viewed which is done with
>>between 1 and 15 updates in one transaction of the form.
>>
>>BEGIN;
>>UPDATE stats SET click_count = click_count+1 WHERE id = '122'
>>UPDATE stats SET click_count = click_count+1 WHERE id = '123'
>>UPDATE stats SET click_count = click_count+1 WHERE id = '124'
>>etc...
>>COMMIT;
>>
>>My lock management config is:
>>deadlock_timeout = 2000 # in milliseconds
>>#max_locks_per_transaction = 64 # min 10, ~200*max_connections bytes
>>
>>I am using Postgres 8.0.3
>>
>>Does anyone know how I can stop these deadlocks from occurring?
>>
>>They are not a big problem as losing a few it only happens a couple of
>>times a day but I prefer to have everything working as it should.
>>
>>Thanks
>>
>>Gavin
>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 3: if posting/reading through Usenet, please send an appropriate
>>      subscribe-nomail command to majordomo@postgresql.org so that your
>>      message can get through to the mailing list cleanly
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>

В списке pgsql-general по дате отправления:

Предыдущее
От: Changyu Dong
Дата:
Сообщение: Re: Best approach setting up PostgreSQL
Следующее
От: Csaba Nagy
Дата:
Сообщение: Re: Deadlock Problem