From 5829387381d2e4edf84652bb5a712f6185860670 Mon Sep 17 00:00:00 2001 From: Simon Riggs Date: Wed, 9 May 2012 13:56:24 +0100 Subject: [PATCH] Avoid xid error from age() function when run on Hot Standby --- src/backend/utils/adt/xid.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/backend/utils/adt/xid.c b/src/backend/utils/adt/xid.c index 1829b8242d..eeda081ad1 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)) -- 2.40.0