Re: logfile rotation - Mailing list pgsql-hackers

From Andreas Pflug
Subject Re: logfile rotation
Date
Msg-id 40D09998.7090107@pse-consulting.de
Whole thread Raw
In response to Re: logfile rotation  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: logfile rotation
List pgsql-hackers
Tom Lane wrote:

>Andreas Pflug <pgadmin@pse-consulting.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




pgsql-hackers by date:

Previous
From: Andreas Pflug
Date:
Subject: Re: Improving postgresql.conf
Next
From: Simon Riggs
Date:
Subject: Re: PITR Recovery