| From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
|---|---|
| To: | Guillermo Munoz <munozgb(at)gmail(dot)com> |
| Cc: | "Ing(dot) Eris J(dot) Gomez" <eris_jose(at)hotmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
| Subject: | Re: Transacciones en PG |
| Date: | 2008-04-30 14:39:13 |
| Message-ID: | 20080430143913.GD5622@alvh.no-ip.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
Guillermo Munoz escribió:
> Eris, tengo entendido que dentro de una transacción no hay bloqueos de
> secuencias , por lo que otro usuario concurrente te puede ocasionar el
> problema que describís.
No hay bloqueos de secuencias, pero un usuario concurrente no te puede
causar ningun problema porque las llamadas concurrentes a nextval()
generan numeros distintos, como tu mismo dices mas abajo:
> pero si dentro de una transaccion o session (como me aclararon)
> realizas nextval(seq) y si otro usuario realiza nextval(seq) al mismo
> tiempo los valores seran diferentes
> por lo que se el primer usuario raliza un rollback y el segundo aplica
> los cambios en las tablas, ahi vas a tener un salto en la secuencia.
> tambien tene en cuanta que si realizas un rollback la/s no vuelven a
> su estado original, se incrementaron.
Correcto, es posible que los numeros insertados en la tabla no sean
consecutivos. El uso de secuencia solo garantiza que los numeros son
_unicos_ (es decir no se repiten).
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Gabriel Hermes Colina Zambra | 2008-04-30 15:00:12 | Re: Transacciones en PG |
| Previous Message | Guillermo Munoz | 2008-04-30 14:30:21 | Re: Transacciones en PG |