Обсуждение: 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