2016-04-21 7:29 GMT-05:00 Kernel <jucab...@gmail.com>:
>
> ¿hay alguna manera de saber si un registro esta bloqueado y evitar la
> espera?
>

En cualquier versión de postgres puedes usar NOWAIT, que causará
que si no puede bloquear algún registro el SELECT devuelva un error.
Si en la versión de postgres que usas no hay NOWAIT, cambia de
versión es muy vieja (esto apareció en 8.1)

SELECT * FROM tabla WHERE id = <algo> FOR UPDATE NOWAIT


O si estas en 9.3 o superior también podrías usar el parámetro: lock_timeout

SET lock_timeout TO '10s';
SELECT * FROM tabla WHERE id = <algo> FOR UPDATE

-- 
Jaime Casanova                      www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a