Обсуждение: Serialize transactions

Поиск
Список
Период
Сортировка

Serialize transactions

От
Ruslan A Dautkhanov
Дата:
Hello all,

I have sometimes (rarely, once per some days) error during
executting different queries in PostgreSQL:
    ERROR:  Can't serialize access due to concurrent update

All my transactions use
    SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

I can't found nothing about this problem in the html-docs sql-set-transaction.html .

Why this happen?  How to solve this problem?
Thanks a lot.


--
 best regards,
Ruslan A Dautkhanov   rusland@scn.ru

Re: Serialize transactions

От
Tom Lane
Дата:
Ruslan A Dautkhanov <rusland@scn.ru> writes:
> I have sometimes (rarely, once per some days) error during
> executting different queries in PostgreSQL:
>     ERROR:  Can't serialize access due to concurrent update
> All my transactions use
>     SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

If you use serializable mode for updating transactions, you must expect
this error and deal with it (by retrying the transaction from the top).

This is discussed in the documentation, eg at
http://www.ca.postgresql.org/users-lounge/docs/7.3/postgres/transaction-iso.html#XACT-SERIALIZABLE

You might also find it useful to go through the slides from this talk:
http://conferences.oreillynet.com/cs/os2002/view/e_sess/2681

            regards, tom lane