From: Tom Lane Date: Sat, 24 Jul 2004 19:51:23 +0000 (+0000) Subject: log_destination should only be PGC_SIGHUP, not PGC_POSTMASTER, as per X-Git-Tag: REL8_0_0BETA1~149 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0655b26282466be8cb0ffbef4f5c825f889acf4a;p=postgresql log_destination should only be PGC_SIGHUP, not PGC_POSTMASTER, as per discussion yesterday. Also a few improvements in the associated documentation. --- diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index b74dfc5baa..91ead3dc16 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -1,5 +1,5 @@ @@ -456,7 +456,7 @@ VACUUM The simplest production-grade approach to managing log output is to send it all to syslog and let syslog deal with file rotation. To do this, set the - configurations parameter log_destination to 'syslog' (to log to + configuration parameter log_destination to 'syslog' (to log to syslog only) in postgresql.conf. Then you can send a SIGHUP signal to the syslog daemon whenever you want to force it to diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index b249d9a5c2..d552e6a34f 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1,5 +1,5 @@ @@ -1769,12 +1769,13 @@ SET ENABLE_SEQSCAN TO OFF; PostgreSQL supports several methods - for loggning, including stderr and + for logging server messages, including + stderr and syslog. On Windows, eventlog is also supported. Set this - option to a list of desired log destinations separated by a - comma. The default is to log to stderr - only. This option must be set at server start. + option to a list of desired log destinations separated by + commas. The default is to log to stderr + only. @@ -1783,15 +1784,16 @@ SET ENABLE_SEQSCAN TO OFF; syslog_facility (string) - This option determines the syslog - facility to be used when logging via - syslog is enabled. You may choose + If logging to syslog is enabled, this option + determines the syslog + facility to be used. You may choose from LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7; the default is LOCAL0. See also the documentation of your system's - syslog. + syslog daemon. + This option can only be set at server start. @@ -1803,8 +1805,9 @@ SET ENABLE_SEQSCAN TO OFF; If logging to syslog is enabled, this option determines the program name used to identify PostgreSQL messages in - syslog log messages. The default is + syslog logs. The default is postgres. + This option can only be set at server start. diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index af73fd1867..b9865462a4 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -10,7 +10,7 @@ * Written by Peter Eisentraut . * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.223 2004/07/21 20:34:46 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.224 2004/07/24 19:51:23 tgl Exp $ * *-------------------------------------------------------------------- */ @@ -1625,8 +1625,8 @@ static struct config_string ConfigureNamesString[] = }, { - {"log_destination", PGC_POSTMASTER, LOGGING_WHERE, - gettext_noop("Sets the target for log output."), + {"log_destination", PGC_SIGHUP, LOGGING_WHERE, + gettext_noop("Sets the destination for server log output."), gettext_noop("Valid values are combinations of stderr, syslog " "and eventlog, depending on platform."), GUC_LIST_INPUT @@ -5099,15 +5099,12 @@ assign_log_destination(const char *value, bool doit, GucSource source) } } + if (doit) + Log_destination = newlogdest; + pfree(rawstring); list_free(elemlist); - /* If we aren't going to do the assignment, just return OK indicator. */ - if (!doit) - return value; - - Log_destination = newlogdest; - return value; }