Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit600da67

Browse files
committed
Add pg_conf_load_time() function to report when the Postgres configuration
files were last loaded.George Gensure
1 parent45173ae commit600da67

File tree

7 files changed

+54
-14
lines changed

7 files changed

+54
-14
lines changed

‎doc/src/sgml/func.sgml

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.434 2008/04/28 14:48:57 alvherre Exp $ -->
1+
<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.435 2008/05/04 21:13:35 tgl Exp $ -->
22

33
<chapter id="functions">
44
<title>Functions and Operators</title>
@@ -10891,6 +10891,12 @@ postgres=# select * from unnest2(array[[1,2],[3,4]]);
1089110891
<entry>server start time</entry>
1089210892
</row>
1089310893

10894+
<row>
10895+
<entry><literal><function>pg_conf_load_time</function>()</literal></entry>
10896+
<entry><type>timestamp with time zone</type></entry>
10897+
<entry>configuration load time</entry>
10898+
</row>
10899+
1089410900
<row>
1089510901
<entry><literal><function>session_user</function></literal></entry>
1089610902
<entry><type>name</type></entry>
@@ -11031,9 +11037,23 @@ SET search_path TO <replaceable>schema</> <optional>, <replaceable>schema</>, ..
1103111037
</indexterm>
1103211038

1103311039
<para>
11034-
<function>pg_postmaster_start_time</function> returns the
11035-
<type>timestamp with time zone</type> when the
11036-
server started.
11040+
<function>pg_postmaster_start_time</function> returns the
11041+
<type>timestamp with time zone</type> when the
11042+
server started.
11043+
</para>
11044+
11045+
<indexterm>
11046+
<primary>pg_conf_load_time</primary>
11047+
</indexterm>
11048+
11049+
<para>
11050+
<function>pg_conf_load_time</function> returns the
11051+
<type>timestamp with time zone</type> when the
11052+
server configuration files were last loaded.
11053+
(If the current session was alive at the time, this will be the time
11054+
when the session itself re-read the configuration files, so the
11055+
reading will vary a little in different sessions. Otherwise it is
11056+
the time when the postmaster process re-read the configuration files.)
1103711057
</para>
1103811058

1103911059
<indexterm>

‎src/backend/postmaster/postmaster.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
*
3838
*
3939
* IDENTIFICATION
40-
* $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.556 2008/04/26 22:47:40 tgl Exp $
40+
* $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.557 2008/05/04 21:13:35 tgl Exp $
4141
*
4242
* NOTES
4343
*
@@ -390,6 +390,7 @@ typedef struct
390390
InheritableSocketpgStatSock;
391391
pid_tPostmasterPid;
392392
TimestampTzPgStartTime;
393+
TimestampTzPgReloadTime;
393394
boolredirection_done;
394395
#ifdefWIN32
395396
HANDLEPostmasterHandle;
@@ -4263,6 +4264,7 @@ save_backend_variables(BackendParameters * param, Port *port,
42634264

42644265
param->PostmasterPid=PostmasterPid;
42654266
param->PgStartTime=PgStartTime;
4267+
param->PgReloadTime=PgReloadTime;
42664268

42674269
param->redirection_done=redirection_done;
42684270

@@ -4468,6 +4470,7 @@ restore_backend_variables(BackendParameters * param, Port *port)
44684470

44694471
PostmasterPid=param->PostmasterPid;
44704472
PgStartTime=param->PgStartTime;
4473+
PgReloadTime=param->PgReloadTime;
44714474

44724475
redirection_done=param->redirection_done;
44734476

‎src/backend/utils/adt/timestamp.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.187 2008/03/25 22:42:44 tgl Exp $
11+
* $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.188 2008/05/04 21:13:35 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -42,6 +42,8 @@
4242

4343
/* Set at postmaster start */
4444
TimestampTzPgStartTime;
45+
/* Set at configuration reload */
46+
TimestampTzPgReloadTime;
4547

4648

4749
staticTimeOffsettime2t(constinthour,constintmin,constintsec,constfsec_tfsec);
@@ -1157,11 +1159,17 @@ clock_timestamp(PG_FUNCTION_ARGS)
11571159
}
11581160

11591161
Datum
1160-
pgsql_postmaster_start_time(PG_FUNCTION_ARGS)
1162+
pg_postmaster_start_time(PG_FUNCTION_ARGS)
11611163
{
11621164
PG_RETURN_TIMESTAMPTZ(PgStartTime);
11631165
}
11641166

1167+
Datum
1168+
pg_conf_load_time(PG_FUNCTION_ARGS)
1169+
{
1170+
PG_RETURN_TIMESTAMPTZ(PgReloadTime);
1171+
}
1172+
11651173
/*
11661174
* GetCurrentTimestamp -- get the current operating system time
11671175
*

‎src/backend/utils/misc/guc-file.l

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*
55
* Copyright (c) 2000-2008, PostgreSQL Global Development Group
66
*
7-
* $PostgreSQL: pgsql/src/backend/utils/misc/guc-file.l,v 1.53 2008/01/01 19:45:54 momjian Exp $
7+
* $PostgreSQL: pgsql/src/backend/utils/misc/guc-file.l,v 1.54 2008/05/04 21:13:35 tgl Exp $
88
*/
99

1010
%{
@@ -309,6 +309,9 @@ ProcessConfigFile(GucContext context)
309309
PGC_S_FILE, GUC_ACTION_SET,true);
310310
}
311311

312+
/* Remember when we last successfully loaded the config file. */
313+
PgReloadTime = GetCurrentTimestamp();
314+
312315
cleanup_list:
313316
free_name_value_list(head);
314317
if (cvc)

‎src/include/catalog/catversion.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
3838
* Portions Copyright (c) 1994, Regents of the University of California
3939
*
40-
* $PostgreSQL: pgsql/src/include/catalog/catversion.h,v 1.453 2008/04/29 14:59:17 alvherre Exp $
40+
* $PostgreSQL: pgsql/src/include/catalog/catversion.h,v 1.454 2008/05/04 21:13:35 tgl Exp $
4141
*
4242
*-------------------------------------------------------------------------
4343
*/
@@ -53,6 +53,6 @@
5353
*/
5454

5555
/*yyyymmddN */
56-
#defineCATALOG_VERSION_NO200804292
56+
#defineCATALOG_VERSION_NO200805041
5757

5858
#endif

‎src/include/catalog/pg_proc.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
88
* Portions Copyright (c) 1994, Regents of the University of California
99
*
10-
* $PostgreSQL: pgsql/src/include/catalog/pg_proc.h,v 1.494 2008/04/2913:00:22 alvherre Exp $
10+
* $PostgreSQL: pgsql/src/include/catalog/pg_proc.h,v 1.495 2008/05/04 21:13:36 tgl Exp $
1111
*
1212
* NOTES
1313
* The script catalog/genbki.sh reads this file and generates .bki
@@ -3922,8 +3922,11 @@ DATA(insert OID = 2559 ( lastval PGNSP PGUID 12 1 0 f f t f v 0 20 "" _null
39223922
DESCR("current value from last used sequence");
39233923

39243924
/* start time function */
3925-
DATA(insertOID=2560 (pg_postmaster_start_timePGNSPPGUID1210fftfs01184""_null__null__null_pgsql_postmaster_start_time-_null__null_ ));
3925+
DATA(insertOID=2560 (pg_postmaster_start_timePGNSPPGUID1210fftfs01184""_null__null__null_pg_postmaster_start_time-_null__null_ ));
39263926
DESCR("postmaster start time");
3927+
/* config reload time function */
3928+
DATA(insertOID=2034 (pg_conf_load_timePGNSPPGUID1210fftfs01184""_null__null__null_pg_conf_load_time-_null__null_ ));
3929+
DESCR("configuration load time");
39273930

39283931
/* new functions for Y-direction rtree opclasses */
39293932
DATA(insertOID=2562 (box_belowPGNSPPGUID1210fftfi216"603 603"_null__null__null_box_below-_null__null_ ));

‎src/include/utils/timestamp.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
77
* Portions Copyright (c) 1994, Regents of the University of California
88
*
9-
* $PostgreSQL: pgsql/src/include/utils/timestamp.h,v 1.76 2008/03/21 01:31:43 tgl Exp $
9+
* $PostgreSQL: pgsql/src/include/utils/timestamp.h,v 1.77 2008/05/04 21:13:36 tgl Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -195,6 +195,8 @@ typedef struct
195195

196196
/* Set at postmaster start */
197197
externTimestampTzPgStartTime;
198+
/* Set at configuration reload */
199+
externTimestampTzPgReloadTime;
198200

199201

200202
/*
@@ -303,7 +305,8 @@ extern Datum now(PG_FUNCTION_ARGS);
303305
externDatumstatement_timestamp(PG_FUNCTION_ARGS);
304306
externDatumclock_timestamp(PG_FUNCTION_ARGS);
305307

306-
externDatumpgsql_postmaster_start_time(PG_FUNCTION_ARGS);
308+
externDatumpg_postmaster_start_time(PG_FUNCTION_ARGS);
309+
externDatumpg_conf_load_time(PG_FUNCTION_ARGS);
307310

308311
/* Internal routines (not fmgr-callable) */
309312

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp