Getting current transaction id
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);
}
------------------------
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
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