Обсуждение: Getting current transaction id

Поиск
Список
Период
Сортировка

Getting current transaction id

От
Nicolai Petri
Дата:
Hello all

I'm in the need for my custom written replication engine to obtain the current 
transaction id from a trigger function. As far as I'm told it's not possible 
today. Would people object much if this functionality was added for 8.2 ? 
It's the last piece of postgresql C code I have left in my application and I 
think it would be a nice information in general to have available for users. 
If not for anything else then for simple statistics.

I attached the function I use with great success today.


Best regards,
Nicolai Petri


-------------------------
PG_FUNCTION_INFO_V1(get_transaction_id);

Datum get_transaction_id(PG_FUNCTION_ARGS) {       TransactionId curxact;
       curxact=GetTopTransactionId();       return Int32GetDatum(curxact);
}
------------------------


Re: Getting current transaction id

От
"Marko Kreen"
Дата:
On 7/24/06, Nicolai Petri <lists@petri.cc> wrote:
> I'm in the need for my custom written replication engine to obtain the current
> transaction id from a trigger function. As far as I'm told it's not possible
> today. Would people object much if this functionality was added for 8.2 ?
> It's the last piece of postgresql C code I have left in my application and I
> think it would be a nice information in general to have available for users.
> If not for anything else then for simple statistics.
>
> I attached the function I use with great success today.

Using XID directly has some drawbacks,  I need similary finctionality,
and decided to extend XID to 8-bytes and use that externally:
 http://archives.postgresql.org/pgsql-patches/2006-07/msg00157.php

Would that work for you?

-- 
marko


Re: Getting current transaction id

От
Nicolai Petri
Дата:
On Tuesday 25 July 2006 22:05, Marko Kreen wrote:
> On 7/24/06, Nicolai Petri <lists@petri.cc> wrote:
> > I'm in the need for my custom written replication engine to obtain the
> > current transaction id from a trigger function. As far as I'm told it's
> > not possible today. Would people object much if this functionality was
> > added for 8.2 ? 
>
> Using XID directly has some drawbacks,  I need similary finctionality,
> and decided to extend XID to 8-bytes and use that externally:
>
>   http://archives.postgresql.org/pgsql-patches/2006-07/msg00157.php
>
> Would that work for you?
That seems perfect for my use - I solved the wraparound issue in my code by 
only allowing pending transactions to stay in the queue for 1 month maximum. 
But I'll probably use the 64 bit counter instead if it was present.

Is there any chance for this going into 8.2 ?

---
Nicolai Petri