mirror of
https://github.com/postgres/postgres.git
synced 2026-02-27 03:40:28 -05:00
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.
This commit is contained in:
parent
4c853646ae
commit
306b9918b2
1 changed files with 2 additions and 2 deletions
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Reference in a new issue