АТОМНОЕ ОБНОВЛЕНИЕ .. ВЫБРАТЬ в Postgres

Я создаю своего рода механизм очередей. Есть строки данных, которые требуют обработки, и флаг состояния. Я используюupdate .. returning пункт, чтобы управлять им:

UPDATE stuff
SET computed = 'working'
WHERE id = (SELECT id from STUFF WHERE computed IS NULL LIMIT 1)
RETURNING * 

Является ли вложенная выделенная часть той же блокировкой, что и обновление, или у меня есть условие гонки? Если это так, должен ли внутренний выбор бытьselect for update?

Ответы на вопрос(2)

Ваш ответ на вопрос