diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2014-12-19 17:00:21 +0200 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2014-12-19 17:03:49 +0200 |
commit | 306b9918b2dd2fb93ea5a0fb62904a05c73fd87a (patch) | |
tree | 7786cd0ac977ac903e8569a882c7f15b998c0c80 | |
parent | 4c853646ae063d6290fc535e3aa80bc0ac69f012 (diff) |
Fix timestamp in end-of-recovery WAL records.
We used time(null) to set a TimestampTz field, which gave bogus results.
Noticed while looking at pg_xlogdump output.
Backpatch to 9.3 and above, where the fast promotion was introduced.
-rw-r--r-- | src/backend/access/transam/xlog.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index b2443c082e8..b44aec46cf7 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -8408,7 +8408,7 @@ CreateEndOfRecoveryRecord(void) if (!RecoveryInProgress()) elog(ERROR, "can only be used to end recovery"); - xlrec.end_time = time(NULL); + xlrec.end_time = GetCurrentTimestamp(); WALInsertLockAcquireExclusive(); xlrec.ThisTimeLineID = ThisTimeLineID; @@ -8433,7 +8433,7 @@ CreateEndOfRecoveryRecord(void) * changes to this point. */ LWLockAcquire(ControlFileLock, LW_EXCLUSIVE); - ControlFile->time = (pg_time_t) xlrec.end_time; + ControlFile->time = (pg_time_t) time(NULL); ControlFile->minRecoveryPoint = recptr; ControlFile->minRecoveryPointTLI = ThisTimeLineID; UpdateControlFile(); |