From f5835b4b8d569e4d7814886f9e7b90c36d8a4fb5 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 14 Jun 2005 21:04:42 +0000 Subject: Add pg_postmaster_start_time() function. Euler Taveira de Oliveira Matthias Schmidt --- src/backend/tcop/postgres.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/backend/tcop/postgres.c') diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 58b1ffbce9a..f1c65bacc43 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.447 2005/06/03 23:05:29 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.448 2005/06/14 21:04:40 momjian Exp $ * * NOTES * this is the "main" module of the postgres backend and @@ -149,6 +149,9 @@ static int UseNewLine = 0; /* Use EOF as query delimiters */ #endif /* TCOP_DONTUSENEWLINE */ +/* Backend startup time */ +TimestampTz StartTime; + /* ---------------------------------------------------------------- * decls for routines only used in this file * ---------------------------------------------------------------- @@ -2380,6 +2383,9 @@ PostgresMain(int argc, char *argv[], const char *username) sigjmp_buf local_sigjmp_buf; volatile bool send_rfq = true; + AbsoluteTime StartTimeSec; /* integer part */ + int StartTimeUSec; /* microsecond part */ + #define PendingConfigOption(name,val) \ (guc_names = lappend(guc_names, pstrdup(name)), \ guc_values = lappend(guc_values, pstrdup(val))) @@ -2969,6 +2975,15 @@ PostgresMain(int argc, char *argv[], const char *username) */ pgstat_bestart(); + /* + * Get stand-alone backend startup time + */ + if (!IsUnderPostmaster) + { + StartTimeSec = GetCurrentAbsoluteTimeUsec(&StartTimeUSec); + StartTime = AbsoluteTimeUsecToTimestampTz(StartTimeSec, StartTimeUSec); + } + /* * POSTGRES main processing loop begins here * -- cgit v1.2.3