Re: RV: Re: una duda sobre funciones

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Hensa <hensa22(at)yahoo(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: RV: Re: una duda sobre funciones
Date: 2006-10-16 15:24:17
Message-ID: 20061016152417.GF18392@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hensa escribió:
> gracias por la respuesta,
> pero hay alguna manera de bloquear una tabla para hacer un update,
> y cuando un segundo usuario quiera hacer algun select,insert o delete a la tabla
> espera a que se desbloque la tabla para que el segundo usuario pueda aplicar una de los 3 sentencias sin que salga ningun error, solamente esperar a que se desbloquee

Que tal si lees la primera parte de mi respuesta abajo. No es tan
dificil.

> Alvaro Herrera <alvherre(at)commandprompt(dot)com> escribió: Hensa escribió:
> > una pregunta sobre este tema, y si esta bloqueada la tabla y otro
> > usuario quiere acceder a ella a traves de un Select o quiere hacer un
> > Update o delete.
>
> > Que pasa en ese caso, devuelve algun error el postgres o espera a que
> > se desbloquee la tabla?
>
> SELECT retorna de inmediato, UPDATE y DELETE se bloquean.
>
> Si quieres que no se bloquee un UPDATE sino que retorne un error, puedes
> hacer antes un SELECT FOR UPDATE NOWAIT para obtener el lock, seguido
> del UPDATE, el cual se garantiza que no se bloqueara. (Si el SELECT FOR
> UPDATE NOWAIT no puede obtener el lock, lanzara un error).

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel Angel . 2006-10-16 17:49:04 Extraño error
Previous Message Hensa 2006-10-16 15:21:56 RV: Re: una duda sobre funciones