From: | Horacio Miranda <hmiranda(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Bloquear registros |
Date: | 2005-08-12 19:43:32 |
Message-ID: | f2b9e749050812124351ea0420@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
No sera que tu necesitas usar select for update en ves de generar bloqueos ?
me explico, si tres procesos van a actualizar un registro saldo con 50
mil pesos, y los tres hacen abonos de 20 mil pesos, debiera quedar en
50 + 20 + 20 + 20 = 110. pero si los tres solo hacen un select y luego
los tres hacen un update el saldo final quedara de 70 y no de 110.
Otra manera de hacer eso e ignoro si por debajo hace un select for
update es update TABLA set saldo=saldo+20000 where CONDICION.
Ojala que esto te sirva, a menos que los bloeos sean por tu modelo de
negocio o aplicación, de ser así yo buscaria la forma de cambiar la
aplicación, todo bloqueo en lo personal no me gusta... :'( pero recien
me estoy metiendo como DBA en bases de datos realmente grandes.
El 12/08/05, Cristofer Reyes A.<crreyes(at)alumnos(dot)inf(dot)utfsm(dot)cl> escribió:
> Máximo Eduardo Méndez wrote:
> > Hola. No recuerdo cómo se originó este hilo, pero sí que respondí acerca de cómo bloquear un registro. Solamente envié esto como una idea y se ve la definición de una función, no una ejecución directa desde el psql ;-)
> >
> Primero que nada, siento haber _confundido_ a algunas personas al enviar
> solo una parte del procedimiento con el cual tuve problemas, supuse que
> se entenderia puesto que venia en el contexto y contenido de la consulta
> que genere hace un tiempo y que Maximo respondio amablemente ;-)
>
> Por otro lado, me gustaria saber lo siguiente:
> tengo multiples procesos java consultando la misma tabla, y para evitar
> inconsistencias y procesamientos erroneos es que necesito el bloqueo de
> _registros_, pero mi pregunta es si una consulta (select por ejemplo)
> _puede_ saber si el registro que esta trantando de acceder esta siendo
> _bloqueado_ o accedido al mismo tiempo por otra consulta, de manera que
> no siga esperando a que se desbloquee, sino que consulte otros registros.
>
> [...]
>
> Saludos y gracias!
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"
> a majordomo(at)postgresql(dot)org para que tus mensajes puedan llegar
> a los suscriptores de la lista
>
--
Saludos Horacio Miranda.
RedHat Certified Engineer.
From | Date | Subject | |
---|---|---|---|
Next Message | Betsa | 2005-08-12 19:44:57 | Log Postgresql |
Previous Message | Horacio Miranda | 2005-08-12 19:38:29 | Re: Monitoreo gráfico de postgresql |