diff options
-rw-r--r-- | doc/src/sgml/config.sgml | 20 | ||||
-rw-r--r-- | src/backend/postmaster/syslogger.c | 17 |
2 files changed, 16 insertions, 21 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 069ab9a8fb2..b3b65f5f0d4 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.209 2009/02/22 23:50:30 tgl Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.210 2009/02/24 12:09:08 petere Exp $ --> <chapter Id="runtime-config"> <title>Server Configuration</title> @@ -2398,17 +2398,21 @@ local0.* /var/log/postgresql so <literal>%</literal>-escapes can be used to specify time-varying file names. (Note that if there are any time-zone-dependent <literal>%</literal>-escapes, the computation - is done in the zone specified by <xref linkend="guc-log-timezone">.) - If no <literal>%</literal>-escapes are present, - <productname>PostgreSQL</productname> will append the epoch of the new - log file's creation time. For example, if - <varname>log_filename</varname> were <literal>server_log</literal>, - then the chosen file name would be <literal>server_log.1093827753</> - for a log starting at Sun Aug 29 19:02:33 2004 MST. + is done in the zone specified + by <xref linkend="guc-log-timezone">.) Note that the system's <systemitem>strftime</systemitem> is not used directly, so platform-specific (nonstandard) extensions do not work. </para> <para> + If you specify a file name without escapes, you should plan to + use a log rotation utility to avoid eventually filling the + entire disk. In releases prior to 8.4, if + no <literal>%</literal> escapes were + present, <productname>PostgreSQL</productname> would append + the epoch of the new log file's creation time, but this is no + longer the case. + </para> + <para> If CSV-format output is enabled in <varname>log_destination</>, <literal>.csv</> will be appended to the timestamped log file name to create the file name for CSV-format output. diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c index 5c9eb1654f7..189ca58bba3 100644 --- a/src/backend/postmaster/syslogger.c +++ b/src/backend/postmaster/syslogger.c @@ -18,7 +18,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/postmaster/syslogger.c,v 1.48 2009/02/03 00:59:26 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/syslogger.c,v 1.49 2009/02/24 12:09:09 petere Exp $ * *------------------------------------------------------------------------- */ @@ -1191,18 +1191,9 @@ logfile_getname(pg_time_t timestamp, char *suffix) len = strlen(filename); - if (strchr(Log_filename, '%')) - { - /* treat it as a strftime pattern */ - pg_strftime(filename + len, MAXPGPATH - len, Log_filename, - pg_localtime(×tamp, log_timezone)); - } - else - { - /* no strftime escapes, so append timestamp to new filename */ - snprintf(filename + len, MAXPGPATH - len, "%s.%lu", - Log_filename, (unsigned long) timestamp); - } + /* treat it as a strftime pattern */ + pg_strftime(filename + len, MAXPGPATH - len, Log_filename, + pg_localtime(×tamp, log_timezone)); if (suffix != NULL) { |