Re: Transacciones en PG

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.

In response to

Browse pgsql-es-ayuda by date

  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