Что такое advisory lock в PostgreSQL?

Ответ

Блокировки на уровне приложения: именованные целые числа или пары (bigint). Не привязаны к строке таблицы. Используются для координации между процессами: например, один воркер на задачу по id. pg_advisory_lock(id) блокирует до освобождения; pg_try_advisory_lock - не блокирует, возвращает true/false. Advisory locks снимаются в конце транзакции или сессии.

SELECT pg_advisory_lock(12345);
-- критическая секция
SELECT pg_advisory_unlock(12345);
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.