Re: logfile rotation

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Andreas Pflug <pgadmin(at)pse-consulting(dot)de>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: logfile rotation
Date: 2004-06-19 03:09:01
Message-ID: 200406190309.i5J391w16648@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Actually, this is the current state of this issue.

---------------------------------------------------------------------------

Andreas Pflug wrote:
> Tom Lane wrote:
>
> >Andreas Pflug <pgadmin(at)pse-consulting(dot)de> writes:
> >
> >
> >>>Answering my own question, the distribution of the current logfile
> >>>name could be done trough a file handle.
> >>>
> >>>
> >
> >
> >
> >>would you mind commenting on my suggestion so I can continue on that topic?
> >>
> >>
> >
> >There is no portable way to redistribute a file handle.
> >
> >
>
> Seems I didn't make clear enough what I mean.
>
> I'd fopen a file handle in the postmaster, and all subsequent processes
> will inherit that handle just as they do for stderr; no redistribution
> required.
> The log filename is written to that file when pg_logfile_rotate is called:
> fseek(fh, 0, SEEK_SET);
> fprintf(fh, "%s", newlogfilname);
> fflush();
>
> and all subprocesses may retrieve the filename when required by
>
> char buf[MAXPGPATH];
> fseek(fh, 0, SEEK_SET);
> fread(buf, 1, MAXPGPATH, fh);
> buf[MAXPGPATH-1]=0; // prevent buffer overflow
> logfile=fopen(buf, "a+");
>
> Regards,
> Andreas
>
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2004-06-19 03:18:44 Twelve days to feature freeze
Previous Message Bruce Momjian 2004-06-19 03:07:00 Re: Why frequently updated tables are an issue