aboutsummaryrefslogtreecommitdiff
path: root/src/backend/tcop/postgres.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-06-14 21:04:42 +0000
committerBruce Momjian <bruce@momjian.us>2005-06-14 21:04:42 +0000
commitf5835b4b8d569e4d7814886f9e7b90c36d8a4fb5 (patch)
treec84f04d2ca95776f698c10ab700c903bcb87a6c9 /src/backend/tcop/postgres.c
parentb5e65c8325ea99da815d2d5a9177aa66961c9dd9 (diff)
downloadpostgresql-f5835b4b8d569e4d7814886f9e7b90c36d8a4fb5.tar.gz
postgresql-f5835b4b8d569e4d7814886f9e7b90c36d8a4fb5.zip
Add pg_postmaster_start_time() function.
Euler Taveira de Oliveira Matthias Schmidt
Diffstat (limited to 'src/backend/tcop/postgres.c')
-rw-r--r--src/backend/tcop/postgres.c17
1 files changed, 16 insertions, 1 deletions
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)))
@@ -2970,6 +2976,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
*
* If an exception is encountered, processing resumes here so we abort