Re: Transaction-scope advisory locks

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Transaction-scope advisory locks
Дата
Msg-id 14232.1295537701@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Transaction-scope advisory locks  (Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>)
Ответы Re: Transaction-scope advisory locks  (Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>)
Список pgsql-hackers
Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi> writes:
> Another thing I now see is this:

> BEGIN;
> SELECT pg_advisory_xact_lock(1);

> -- do something here

> -- upgrade to session lock
> SELECT pg_advisory_lock(1);
> COMMIT;


> This seems useful, since the xact lock would be automatically released 
> if an error happens during "-- do something here" so you wouldn't need 
> to worry about releasing the lock elsewhere.  But I'm not sure this is 
> safe.  Can anyone see a problem with it?

I think the POLA dictates that the behavior of that should be that you
now have both a transactional and a nontransactional hold on the lock;
and only the transactional hold goes away at commit.
        regards, tom lane


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

Предыдущее
От: Florian Pflug
Дата:
Сообщение: Re: pg_dump directory archive format / parallel pg_dump
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: pg_basebackup for streaming base backups