diff options
author | Simon Riggs <simon@2ndQuadrant.com> | 2012-05-09 13:59:30 +0100 |
---|---|---|
committer | Simon Riggs <simon@2ndQuadrant.com> | 2012-05-09 13:59:30 +0100 |
commit | e7c43ddc266172f409f5d5bb3e571cafe7d14fa2 (patch) | |
tree | 084a3c222c740790211b7229ed61f28e8cfda27d /src | |
parent | 1c0e678678a661f8437ed238a5c515b81547aaf4 (diff) | |
download | postgresql-e7c43ddc266172f409f5d5bb3e571cafe7d14fa2.tar.gz postgresql-e7c43ddc266172f409f5d5bb3e571cafe7d14fa2.zip |
Avoid xid error from age() function when run on Hot Standby
Diffstat (limited to 'src')
-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 76d29ff2a37..229e8e43e69 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)) |