Re: Transaccion ID

From: Oswaldo Hernández <listas(at)soft-com(dot)es>
To: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Transaccion ID
Date: 2005-03-07 20:33:57
Message-ID: 422CBAB5.8030407@soft-com.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alvaro Herrera escribió:
> On Mon, Feb 21, 2005 at 11:30:30AM +0100, Oswaldo Hernández wrote:
>
> Hola,
>
>
>>Me gustaria saber si es posible obtener el ID de la transaccion actual
>>desde una funcion trigger.
>
>
> Me parece que directamente no, pero puedes hacer algo (dentro de la
> transaccion) como (untested)
>
> begin;
> ... algo de trabajo ...;
> create temp table getxid(a int) on commit drop;
> insert into getxid default values;
> select xmin from getxid limit 1;
> ... otro poco de trabajo ... ;
> commit;
>
> Ese xmin es el Xid de la transaccion en curso. Ojo, que ese numero
> cambia en subtransacciones!! En particular, si usas EXCEPTION en
> plpgsql o defines SAVEPOINTs, pueden crearse subtransacciones. Una vez
> que estas en ese terreno es dificil obtener una representacion correcta
> de la realidad de los Xids ...
>

Hola Alvaro,

Gracias por tu respuesta pero preferiria una solución sin necesidad de
hacer nada del lado del cliente.

He observado algo interesante en el comportamiento de pg_locks respecto
a esto y estoy investigando un poquito.

Gracias de nuevo.

--
*****************************************
Oswaldo Hernández
oswaldo(at)soft-com(dot)es
*****************************************

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-03-07 20:47:37 Re: Transaccion ID
Previous Message Mario A. Soto Cordones 2005-03-07 20:26:20 Re: pg_restore