From: | Сергей Муравьёв <smurav78(at)gmail(dot)com> |
---|---|
To: | "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org> |
Cc: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | Re: [pgsql-ru-general] Re: [pgsql-ru-general] борьба с дедлоками |
Date: | 2013-05-08 03:52:17 |
Message-ID: | CAOzrXHRpmUDRz93XD+8nfiF6KVkCR9MGUg0-U=w4pV_TEoDCwA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
Думаю, что ORDER BY определяет только сортировку результатов, а оптимизатор
запросов может определить совсем другой порядок обработки строк.
Тут нужно пробовать блокировать таблицы целиком (
http://www.postgresql.org/docs/9.1/static/sql-lock.html)
BEGIN WORK;
LOCK TABLE objects IN EXCLUSIVE MODE;
...UPDATE
"objects"
SET
"status" = "..."
FROM
"list"
WHERE
"list"."uuid" = "objects"."uuid"
COMMIT WORK;
BEGIN WORK;
LOCK TABLE objects IN EXCLUSIVE MODE;
...UPDATE
"objects"
SET
"x" = "...", "y"="..."
FROM
"list"
WHERE
"list"."uuid" = "objects"."uuid"
COMMIT WORK;
В каждый момент времени только один процесс будет иметь возможность писать
в таблицу.
8 мая 2013 г., 2:34 пользователь Dmitry E. Oboukhov <unera(at)debian(dot)org>написал:
> > Сортировка поможет.
>
> приписал в обоих запросах ORDER BY "uuid". как сыпались дедлоки так и
> продолжают сыпаться.
> постгря - 9.1.2
>
> очень не хочется лочить таблицу вообще перед групповой записью.
>
> есть еще варианты какие-либо? подскажите
> --
>
> . ''`. Dmitry E. Oboukhov
> : :' : email: unera(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
> `. `~' GPGKey: 1024D / F8E26537 2006-11-21
> `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEAREDAAYFAlGJgYMACgkQq4wAz/jiZTdE5wCgwXNqmM8xYOHfxhxT23ScdFDR
> 878AnRqCcuUy1ylSVDT6dfqJM5VAf8vz
> =gSe+
> -----END PGP SIGNATURE-----
>
>
--
С уважением
Муравьёв Сергей
From | Date | Subject | |
---|---|---|---|
Next Message | Sandy Joseph Padala | 2013-05-08 08:30:17 | Review Copies Available for Instant PostgreSQL Starter Book from Packt |
Previous Message | Dmitry E. Oboukhov | 2013-05-07 22:34:43 | Re: Re: [pgsql-ru-general] борьба с дедлоками |