Estás usando LOCK IN SHARE MODE
que bloquea la fila de UPDATE
o DELETE
pero permite leer la fila. Consulte esta documentación
para más información. Un resumen de la documentación se encuentra a continuación.
Su consulta devuelve la misma fila a todos los procesos/trabajadores y simplemente esperan a que se libere el bloqueo anterior antes de colocar su propio bloqueo en la fila. Para lograr el tipo de bloqueo que necesita, reemplace su SELECT ... LOCK IN SHARE MODE
con SELECT ... FOR UPDATE
.