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: | Raw Message | Whole Thread | 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 |