diff options
author | Simon Riggs <simon@2ndQuadrant.com> | 2012-05-09 13:56:24 +0100 |
---|---|---|
committer | Simon Riggs <simon@2ndQuadrant.com> | 2012-05-09 13:56:24 +0100 |
commit | 5829387381d2e4edf84652bb5a712f6185860670 (patch) | |
tree | ba3174b5d564df2ac915dc0874584b91b4d373df | |
parent | 773b5e0efa409d06113c3654f53da511de673a51 (diff) | |
download | postgresql-5829387381d2e4edf84652bb5a712f6185860670.tar.gz postgresql-5829387381d2e4edf84652bb5a712f6185860670.zip |
Avoid xid error from age() function when run on Hot Standby
-rw-r--r-- | src/backend/utils/adt/xid.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/utils/adt/xid.c b/src/backend/utils/adt/xid.c index 1829b8242d2..eeda081ad18 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)) |