Re: modos de bloqueo

From: Kernel <jucabapa(at)gmail(dot)com>
To: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: modos de bloqueo
Date: 2016-04-21 12:29:43
Message-ID: 5718C7B7.4060508@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 20/04/2016 a las 22:56, Jaime Casanova escribió:
> 2016-04-19 13:15 GMT-05:00 Francisco Olarte <folarte(at)peoplecall(dot)com>:
>> 2016-04-19 19:55 GMT+02:00 Kernel <jucabapa(at)gmail(dot)com>:
>>> Voy a hacer un proceso de facturacion y necesito asegurar que nadie pueda
>>> facturar en el mismo momento que yo.
>>> Necesito bloquear una tabla de manera que nadie pueda hacer un insert,
>>> update o delete, solo pueda leer de la tabla pero nada mas hasta que termine
>>> el trabajo.
>>>
>>> ¿CUAL SERIA EL TIPO DE BLOQUEO MAS ADECUADO?
>>
>> Buff, probablemente LOCK EXCLUSIVE, que da conflicto con todo menos
>> con el select si no recuerdo mal, mirando ademas el nivel de
>> aislamiento que necesitas.
>>
>
> Bastaría con LOCK SHARE (evita modificaciones concurrentes).
>
> Ahora, si lo que quieres es evitar que te incrementen el número
> secuencial, debería ser suficiente
> agregar un FOR UPDATE al cursor llamado albaranes.
>
> Por cierto, esto es 4gl?
>

Si un usuario lanza un proceso para generar 200 facturas , no puedo
permitir que otro usuario intercale un numero de factura, pero tampoco
quiero que otro usuario lance otro proceso y se le quede bloqueado hasta
que termine el otro usuario (ya conocemos a los usuarios..).

Estoy pensando en bloquear a nivel de tabla,crear una tabla en la que
contenga proceso,empresa,serie

Cuando un proceso se inicie se debe de bloquear el registro con un
select for update, pero antes debe de comprobar que no lo ha bloqueado
otro usuario y asi poder mandar un aviso al usuario de que lo intente
mas tarde.

¿hay alguna manera de saber si un registro esta bloqueado y evitar la
espera?

Gracias

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Hellmuth Vargas 2016-04-21 13:03:38 Re: modos de bloqueo
Previous Message Jaime Casanova 2016-04-21 02:12:38 Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Separación lógica de tablas, agrega rendimiento?