Jairo Graterón escribió: > La cola está dividida en dos partes > > 1. Tabla cola_cliente > 2. Tabla cola_trabajo_cliente
Hola, yo estuve tratando de darle una vuelta a tu problema pero no conseguí comprenderlo por completo para pensar cuál puede ser una buena solución. Pero una cosa que me vino inmediatamente es que quizás te conviene representar algunos de esos locks usando advisory locks que se liberen automáticamente al final de la transacción, y usar "conditional lock" para saltar clientes/trabajos que estén bloqueados. Puede ser mejor que usar FOR UPDATE SKIP LOCKED. (O quizás no). Échale una pensada a ver si te sirve ... saludos -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services