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
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 |