process startup: Initialize PgStartTime earlier in single user mode.

An upcoming patch splits single user mode handling out of PostgresMain(). The
startup time only needs to be determined in single user mode. Currently the
initialization happens late, which makes the split a bit harder. As postmaster
determines the time earlier it makes sense to move the time for single user
mode to a roughly similar point in time.

Reviewd-By: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Author: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/20210802164124.ufo5buo4apl6yuvs@alap3.anarazel.de
This commit is contained in:
Andres Freund 2021-09-15 13:16:00 -07:00
parent e3ec3c00d8
commit 2c7615f77b

View File

@ -4052,6 +4052,12 @@ PostgresMain(int argc, char *argv[],
InitializeMaxBackends();
CreateSharedMemoryAndSemaphores();
/*
* Remember stand-alone backend startup time, roughly at the same
* point during startup that postmaster does so.
*/
PgStartTime = GetCurrentTimestamp();
}
/*
@ -4161,12 +4167,6 @@ PostgresMain(int argc, char *argv[],
initStringInfo(&row_description_buf);
MemoryContextSwitchTo(TopMemoryContext);
/*
* Remember stand-alone backend startup time
*/
if (!IsUnderPostmaster)
PgStartTime = GetCurrentTimestamp();
/*
* POSTGRES main processing loop begins here
*