Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: Transacciones en PG



El 30/04/08, Ing. Eris J. Gomez <eris_jose(at)hotmail(dot)com> escribió:
>
> Buen día
>
> Alguien podría explicarme o indicarme como PG maneja las transacciones.
> Tengo un inconveniente ahora mismo. Es el siguiente:
>
> Uso como Front End Visual Fox Pro. Mediante un objeto ADODB acceso a la BBDD
> de PG.
> Inicio una transacción para buscar la secuencia de una tabla y con esa
> secuencia grabo en otra tabla.
> A veces sucede que el sistema vuela una secuencia y no se puede usar la
> misma.
>
>  Nota: todo esto se hace en una transacción y luego se hace un commit.
>
> Es posible que en medio de la transacción otro usuario modifique la tabla
> que estoy actualizando?
> En caso de ser así como debería manejar las transacciones?
>
> Gracias de antemano.
>
> Ing. Eris J. Gómez
> Santiago de los Caballeros, República Dominicana
> --
> TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo
> agradecerán
>
>
>

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


Saludos
-- 
Saludos
Guillermo Muñoz


Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group