From: Simon Riggs Date: Wed, 9 May 2012 12:59:30 +0000 (+0100) Subject: Avoid xid error from age() function when run on Hot Standby X-Git-Tag: REL9_1_4~28 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e7c43ddc266172f409f5d5bb3e571cafe7d14fa2;p=postgresql Avoid xid error from age() function when run on Hot Standby --- diff --git a/src/backend/utils/adt/xid.c b/src/backend/utils/adt/xid.c index 76d29ff2a3..229e8e43e6 100644 --- a/src/backend/utils/adt/xid.c +++ b/src/backend/utils/adt/xid.c @@ -93,7 +93,10 @@ Datum xid_age(PG_FUNCTION_ARGS) { TransactionId xid = PG_GETARG_TRANSACTIONID(0); - TransactionId now = GetTopTransactionId(); + TransactionId now = GetTopTransactionIdIfAny(); + + if (!TransactionIdIsValid(now)) + now = ReadNewTransactionId(); /* Permanent XIDs are always infinitely old */ if (!TransactionIdIsNormal(xid))