log_filename()

Started by Joshua D. Drakeover 17 years ago5 messages
#1Joshua D. Drake
jd@commandprompt.com

We got the comment on the docs:

log_filename(string) is misleading, since it really doesn't use a
strftime pattern, but instead a reimplementation of strftime, in order
to be cross-platform. There is no documentation on this except to look
in src/timezone/strftime.c (the function is called pg_strftime)

Is it true?

--
The PostgreSQL Company since 1997: http://www.commandprompt.com/
PostgreSQL Community Conference: http://www.postgresqlconference.org/
United States PostgreSQL Association: http://www.postgresql.us/
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Joshua D. Drake (#1)
Re: log_filename()

"Joshua D. Drake" <jd@commandprompt.com> writes:

We got the comment on the docs:
log_filename(string) is misleading, since it really doesn't use a
strftime pattern, but instead a reimplementation of strftime, in order
to be cross-platform.

AFAIK that implementation covers everything that's in the POSIX
spec... was this person whining because he tried to use some
nonstandard extension?

regards, tom lane

#3Joshua D. Drake
jd@commandprompt.com
In reply to: Tom Lane (#2)
Re: log_filename()

On Sun, 20 Apr 2008 21:32:53 -0400
Tom Lane <tgl@sss.pgh.pa.us> wrote:

"Joshua D. Drake" <jd@commandprompt.com> writes:

We got the comment on the docs:
log_filename(string) is misleading, since it really doesn't use a
strftime pattern, but instead a reimplementation of strftime, in
order to be cross-platform.

AFAIK that implementation covers everything that's in the POSIX
spec... was this person whining because he tried to use some
nonstandard extension?

That is verbatim what was stated, *shrug*.

Sincerely,

Joshua D. Drake

--
The PostgreSQL Company since 1997: http://www.commandprompt.com/
PostgreSQL Community Conference: http://www.postgresqlconference.org/
United States PostgreSQL Association: http://www.postgresql.us/
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate

#4Alvaro Herrera
alvherre@commandprompt.com
In reply to: Joshua D. Drake (#1)
1 attachment(s)
Re: log_filename()

Joshua D. Drake wrote:

We got the comment on the docs:

log_filename(string) is misleading, since it really doesn't use a
strftime pattern, but instead a reimplementation of strftime, in order
to be cross-platform. There is no documentation on this except to look
in src/timezone/strftime.c (the function is called pg_strftime)

Correct. I propose the attached patch.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

Attachments:

strftime.patchtext/x-diff; charset=us-asciiDownload
Index: config.sgml
===================================================================
RCS file: /home/alvherre/cvs/pgsql/doc/src/sgml/config.sgml,v
retrieving revision 1.179
diff -c -p -r1.179 config.sgml
*** config.sgml	19 May 2008 18:08:15 -0000	1.179
--- config.sgml	6 Jun 2008 21:52:45 -0000
*************** local0.*    /var/log/postgresql
*** 2428,2435 ****
          <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.
!         This parameter can only be set in the <filename>postgresql.conf</>
!         file or on the server command line.
         </para>
         <para>
          If CSV-format output is enabled in <varname>log_destination</>,
--- 2428,2435 ----
          <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.
!         Note that the system's <systemitem>strftime</systemitem> is not used
!         directly, so platform-specific (nonstandard) extensions do not work.
         </para>
         <para>
          If CSV-format output is enabled in <varname>log_destination</>,
*************** local0.*    /var/log/postgresql
*** 2440,2445 ****
--- 2440,2449 ----
          In the case of the example above, the CSV
          file name will be <literal>server_log.1093827753.csv</literal>.
         </para>
+        <para>
+         This parameter can only be set in the <filename>postgresql.conf</>
+         file or on the server command line.
+        </para>
        </listitem>
       </varlistentry>
  
#5Alvaro Herrera
alvherre@commandprompt.com
In reply to: Alvaro Herrera (#4)
Re: log_filename()

Alvaro Herrera wrote:

Joshua D. Drake wrote:

We got the comment on the docs:

log_filename(string) is misleading, since it really doesn't use a
strftime pattern, but instead a reimplementation of strftime, in order
to be cross-platform. There is no documentation on this except to look
in src/timezone/strftime.c (the function is called pg_strftime)

Correct. I propose the attached patch.

Applied.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.