diff options
| author | Bruce Momjian <bruce@momjian.us> | 2005-06-14 21:04:42 +0000 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 2005-06-14 21:04:42 +0000 |
| commit | f5835b4b8d569e4d7814886f9e7b90c36d8a4fb5 (patch) | |
| tree | c84f04d2ca95776f698c10ab700c903bcb87a6c9 /src/backend/postmaster | |
| parent | b5e65c8325ea99da815d2d5a9177aa66961c9dd9 (diff) | |
| download | postgresql-f5835b4b8d569e4d7814886f9e7b90c36d8a4fb5.tar.gz | |
Add pg_postmaster_start_time() function.
Euler Taveira de Oliveira
Matthias Schmidt
Diffstat (limited to 'src/backend/postmaster')
| -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 af28bf652f..03057dbcb2 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; |
