From 44608aee042b359a6928e72b0013c5c8b377129d Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 17 Sep 2009 20:54:03 +0000 Subject: [PATCH] When reloading postgresql.conf, log what parameters actually changed --- src/backend/utils/misc/guc-file.l | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/backend/utils/misc/guc-file.l b/src/backend/utils/misc/guc-file.l index ad52fb138a..3bd466b240 100644 --- a/src/backend/utils/misc/guc-file.l +++ b/src/backend/utils/misc/guc-file.l @@ -4,7 +4,7 @@ * * Copyright (c) 2000-2009, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/backend/utils/misc/guc-file.l,v 1.59 2009/04/09 14:21:02 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/misc/guc-file.l,v 1.60 2009/09/17 20:54:03 petere Exp $ */ %{ @@ -283,6 +283,10 @@ ProcessConfigFile(GucContext context) /* Now we can re-apply the wired-in default */ set_config_option(gconf->name, NULL, context, PGC_S_DEFAULT, GUC_ACTION_SET, true); + if (context == PGC_SIGHUP) + ereport(elevel, + (errmsg("parameter \"%s\" removed from configuration file, reset to default", + gconf->name))); } /* @@ -309,9 +313,18 @@ ProcessConfigFile(GucContext context) /* If we got here all the options checked out okay, so apply them. */ for (item = head; item; item = item->next) { + char *pre_value = NULL; + + if (context == PGC_SIGHUP) + pre_value = pstrdup(GetConfigOption(item->name)); + if (set_config_option(item->name, item->value, context, PGC_S_FILE, GUC_ACTION_SET, true)) { + if (pre_value && strcmp(pre_value, GetConfigOption(item->name)) != 0) + ereport(elevel, + (errmsg("parameter \"%s\" changed to \"%s\"", + item->name, item->value))); set_config_sourcefile(item->name, item->filename, item->sourceline); }