| От | Volkan YAZICI |
|---|---|
| Тема | pg_advisory_lock(bigint) vs. LOCK TABLE |
| Дата | |
| Msg-id | 87sku9wph7.fsf@alamut.mobiliz.com.tr обсуждение исходный текст |
| Ответы |
Re: pg_advisory_lock(bigint) vs. LOCK TABLE
|
| Список | pgsql-sql |
Hi,
What's the difference between below two queue implementations?
-- -- With advisory locks. -- BEGIN; SELECT pg_advisory_lock((SELECT oid FROM pg_class
WHERE relname = 'queue')); DELETE FROM queue WHERE id = (SELECT MIN(id) FROM queue)
RETURNINGid, val; SELECT pg_advisory_unlock((SELECT oid FROM pg_class
WHERE relname = 'queue')); COMMIT; -- -- With LOCK table command. -- BEGIN; LOCK TABLE queue; DELETE FROM queue
WHERE id = (SELECT MIN(id) FROM queue) RETURNING id, val; COMMIT;
Any helps will be appreciated. (BTW, yep, I'm aware of PGQ module of
skyytools[1].)
Regards.
[1] http://skytools.projects.postgresql.org/
В списке pgsql-sql по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера