Index: src/backend/utils/misc/guc-file.l
===================================================================
RCS file: /cvsroot/pgsql/src/backend/utils/misc/guc-file.l,v
retrieving revision 1.59
diff -u -3 -p -r1.59 guc-file.l
--- src/backend/utils/misc/guc-file.l	9 Apr 2009 14:21:02 -0000	1.59
+++ src/backend/utils/misc/guc-file.l	28 Aug 2009 21:30:56 -0000
@@ -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;
+
+		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 (context == PGC_SIGHUP && 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);
 		}
