diff options
Diffstat (limited to 'src/backend/postmaster/postmaster.c')
-rw-r--r-- | src/backend/postmaster/postmaster.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index af28bf652fb..03057dbcb21 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -37,7 +37,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.452 2005/06/09 22:01:12 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.453 2005/06/14 21:04:39 momjian Exp $ * * NOTES * @@ -222,6 +222,9 @@ static bool FatalError = false; /* T if recovering from backend crash */ bool ClientAuthInProgress = false; /* T during new-client * authentication */ +/* Backend startup time */ +TimestampTz StartTime; + /* * State for assigning random salts and cancel keys. * Also, the global MyCancelKey passes the cancel key assigned to a given @@ -330,6 +333,7 @@ typedef struct InheritableSocket pgStatPipe0; InheritableSocket pgStatPipe1; pid_t PostmasterPid; + TimestampTz StartTime; #ifdef WIN32 HANDLE PostmasterHandle; HANDLE initial_signal_pipe; @@ -372,6 +376,9 @@ PostmasterMain(int argc, char *argv[]) char *userDoption = NULL; int i; + AbsoluteTime StartTimeSec; /* integer part */ + int StartTimeUSec; /* microsecond part */ + /* This will call exit() if strdup() fails. */ progname = get_progname(argv[0]); @@ -914,6 +921,12 @@ PostmasterMain(int argc, char *argv[]) */ StartupPID = StartupDataBase(); + /* + * Get start up time + */ + StartTimeSec = GetCurrentAbsoluteTimeUsec(&StartTimeUSec); + StartTime = AbsoluteTimeUsecToTimestampTz(StartTimeSec, StartTimeUSec); + status = ServerLoop(); /* @@ -3603,6 +3616,7 @@ save_backend_variables(BackendParameters *param, Port *port, write_inheritable_socket(¶m->pgStatPipe1, pgStatPipe[1], childPid); param->PostmasterPid = PostmasterPid; + param->StartTime = StartTime; #ifdef WIN32 param->PostmasterHandle = PostmasterHandle; @@ -3805,6 +3819,7 @@ restore_backend_variables(BackendParameters *param, Port *port) read_inheritable_socket(&pgStatPipe[1], ¶m->pgStatPipe1); PostmasterPid = param->PostmasterPid; + StartTime = param->StartTime; #ifdef WIN32 PostmasterHandle = param->PostmasterHandle; |