Re: BUG #5935: Log lotation not working for default log format - Mailing list pgsql-bugs

From Nicholson, Brad (Toronto, ON, CA)
Subject Re: BUG #5935: Log lotation not working for default log format
Date
Msg-id 2626AEE4839D064CB0472A3814DC403F46D2080FAE@GVW1092EXB.americas.hpqcorp.net
Whole thread Raw
In response to Re: BUG #5935: Log lotation not working for default log format  (Korry Douglas <korry.douglas@enterprisedb.com>)
Responses Re: BUG #5935: Log lotation not working for default log format
List pgsql-bugs
You could appending something onto the logfile to differentiate it, but I c=
an understand why you wouldn't want to as that would change the filename fo=
rmat.

If this is the case, the call to pg_rotate_logfile() should return false.

I'd also say that starting up and allowing a file size based rotation with =
a log filename that does not allow it to be rotated is also broken.

Brad.

> -----Original Message-----
> From: Korry Douglas [mailto:korry.douglas@enterprisedb.com]
> Sent: Thursday, March 17, 2011 4:00 PM
> To: Nicholson, Brad (Toronto, ON, CA)
> Cc: pgsql-bugs@postgresql.org
> Subject: Re: [BUGS] BUG #5935: Log lotation not working for default log
> format
>=20
> What would you expect the new log file to be named?  Your log_filename
> is set to postgresql-%a.log.  The %a part expands to the current day of
> the week.  If it's Thursday and you already have a file for Thursday,
> what would the new file name be?
>=20
>         -- Korry
>=20
> > The following bug has been logged online:
> >
> > Bug reference:      5935
> > Logged by:          Brad Nicholson
> > Email address:      bnicholson@hp.com
> > PostgreSQL version: 9.0.3
> > Operating system:   CentOS Release 5.5
> > Description:        Log lotation not working for default log format
> > Details:
> >
> > PostgreSQL 9.0.3 on x86_64-unknown-linux-gnu, compiled by GCC gcc
> (GCC)
> > 4.1.2 20080704 (Red Hat 4.1.2-48), 64-bit
> > CentOS release 5.5 (Final)
> >
> > (using the standard PG package)
> >
> > The logfile will not rotate if the log_filename is set to postgresql-
> %a.log,
> > which is the default setting after an initdb on my platform.
> >
> >
> > I have tested this by setting log_rotation_size and exceeding that
> threshold
> > and manually trying to rotate the logs with SELECT
> pg_rotate_logfile().
> > Both fail to rotate the log file.
> >
> >
> > Manual Rotate:
> >
> > [postgres@pg1 pgdata]$ ls -al logs/
> > total 24
> > drwxr-xr-x 2 postgres postgres 4096 Mar 17 13:11 .
> > drwxr-xr-x 4 postgres postgres 4096 Mar 17 13:08 ..
> > -rw------- 1 postgres postgres  150 Mar 17 13:11 postgresql-Thu.log
> > [postgres@pg1 pgdata]$ psql -p 6432  -c "show log_filename;" postgres
> >   log_filename
> > -------------------
> > postgresql-%a.log
> > (1 row)
> >
> > [postgres@pg1 pgdata]$ psql -p 6432 -c "SELECT pg_rotate_logfile()"
> > postgres
> > pg_rotate_logfile
> > -------------------
> > t
> > (1 row)
> >
> > [postgres@pg1 pgdata]$ ls -al logs/
> > total 24
> > drwxr-xr-x 2 postgres postgres 4096 Mar 17 13:11 .
> > drwxr-xr-x 4 postgres postgres 4096 Mar 17 13:08 ..
> > -rw------- 1 postgres postgres  150 Mar 17 13:11 postgresql-Thu.log
> >
> >
> >
> > Size based automatic rotation:
> >
> > [postgres@pg1 pgdata]$ psql -p 6432  -c "show log_rotation_size;"
> postgres
> > log_rotation_size
> > -------------------
> > 1MB
> > (1 row)
> >
> > <generate some pgbench traffic with full statement logging>
> >
> > [postgres@pg1 pgdata]$ ls -thl logs/
> > total 3.2M
> > -rw------- 1 postgres postgres 3.2M Mar 17 13:24 postgresql-Thu.log
> >
> >
> >
> > If I switch the log_filename to something more specific like
> > postgresql-%Y-%m-%d_%H_%M_%S.log - the logfile rotates.
> >
> > --
> > Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
> > To make changes to your subscription:
> > http://www.postgresql.org/mailpref/pgsql-bugs

pgsql-bugs by date:

Previous
From: Korry Douglas
Date:
Subject: Re: BUG #5935: Log lotation not working for default log format
Next
From: Korry Douglas
Date:
Subject: Re: BUG #5935: Log lotation not working for default log format