diff options
author | Thomas Munro <tmunro@postgresql.org> | 2021-08-03 14:11:55 +1200 |
---|---|---|
committer | Thomas Munro <tmunro@postgresql.org> | 2021-08-03 14:16:58 +1200 |
commit | 8f7c8e2bef2bd2587e5d66dd20de15f3db0a6bcb (patch) | |
tree | 9aa196b7d1d4370eb4a2b5bf2657526e1fd40fca /src/backend/access/transam/xlog.c | |
parent | db632fbca392389807ffb9d9b2207157e8e9b3e8 (diff) | |
download | postgresql-8f7c8e2bef2bd2587e5d66dd20de15f3db0a6bcb.tar.gz postgresql-8f7c8e2bef2bd2587e5d66dd20de15f3db0a6bcb.zip |
Further simplify a bit of logic in StartupXLOG().
Commit 7ff23c6d277d1d90478a51f0dd81414d343f3850 left us with two
identical cases. Collapse them.
Author: Robert Haas <robertmhaas@gmail.com>
Discussion: https://postgr.es/m/CA%2BhUKGJ8NRsqgkZEnsnRc2MFROBV-jCnacbYvtpptK2A9YYp9Q%40mail.gmail.com
Diffstat (limited to 'src/backend/access/transam/xlog.c')
-rw-r--r-- | src/backend/access/transam/xlog.c | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index f84c0bb01eb..8b39a2fdaa5 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -7890,28 +7890,22 @@ StartupXLOG(void) * after we're fully out of recovery mode and already accepting * queries. */ - if (ArchiveRecoveryRequested && IsUnderPostmaster) + if (ArchiveRecoveryRequested && IsUnderPostmaster && + LocalPromoteIsTriggered) { - if (LocalPromoteIsTriggered) - { - promoted = true; + promoted = true; - /* - * Insert a special WAL record to mark the end of recovery, - * since we aren't doing a checkpoint. That means that the - * checkpointer process may likely be in the middle of a - * time-smoothed restartpoint and could continue to be for - * minutes after this. That sounds strange, but the effect is - * roughly the same and it would be stranger to try to come - * out of the restartpoint and then checkpoint. We request a - * checkpoint later anyway, just for safety. - */ - CreateEndOfRecoveryRecord(); - } - else - RequestCheckpoint(CHECKPOINT_END_OF_RECOVERY | - CHECKPOINT_IMMEDIATE | - CHECKPOINT_WAIT); + /* + * Insert a special WAL record to mark the end of recovery, since + * we aren't doing a checkpoint. That means that the checkpointer + * process may likely be in the middle of a time-smoothed + * restartpoint and could continue to be for minutes after this. + * That sounds strange, but the effect is roughly the same and it + * would be stranger to try to come out of the restartpoint and + * then checkpoint. We request a checkpoint later anyway, just for + * safety. + */ + CreateEndOfRecoveryRecord(); } else { |