ACTUALIZACIÓN atómica .. SELECCIONAR en Postgres

Estoy construyendo un mecanismo de cola de clases. Hay filas de datos que necesitan procesamiento, y una marca de estado. Estoy usando unupdate .. returning Cláusula para gestionarlo:

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

¿Es la parte de selección anidada el mismo bloqueo que la actualización, o tengo una condición de carrera aquí? Si es así, ¿la selección interna necesita ser unaselect for update?

Respuestas a la pregunta(2)

Su respuesta a la pregunta