Thread: pgbouncer logrotate configuration

pgbouncer logrotate configuration

From
Peter Eisentraut
Date:
The pgbouncer logrotate configuration seems a bit contradictory:

/var/log/pgbouncer.log {
    missingok
    notifempty
    sharedscripts
    copytruncate
    create 0640 pgbouncer pgbouncer
    nodateext
    postrotate
        /bin/kill -HUP `cat /var/run/pgbouncer/pgbouncer.pid
2>/dev/null` 2> /dev/null || true
    endscript
}

"create" is ignored if "copytruncate" is used.  And having a postrotate
script to send a HUP signal is also pointless if copytruncate is used.
We need to decide on one way to do it: either copytruncate, or rename
and SIGHUP.

It also seems to me that this might be a bit simpler if we created a
subdirectory /var/log/pgbouncer/ for all the log files.  Then we
wouldn't have the permissions issues that the "create" directory is
attempting to solve.

Comments?


Re: pgbouncer logrotate configuration

From
Devrim Gündüz
Date:
Hi,

On Tue, 2015-05-12 at 10:44 -0400, Peter Eisentraut wrote:
> The pgbouncer logrotate configuration seems a bit contradictory:
>
> /var/log/pgbouncer.log {
>     missingok
>     notifempty
>     sharedscripts
>     copytruncate
>     create 0640 pgbouncer pgbouncer
>     nodateext
>     postrotate
>         /bin/kill -HUP `cat /var/run/pgbouncer/pgbouncer.pid
> 2>/dev/null` 2> /dev/null || true
>     endscript
> }
>
> "create" is ignored if "copytruncate" is used.  And having a postrotate
> script to send a HUP signal is also pointless if copytruncate is used.
> We need to decide on one way to do it: either copytruncate, or rename
> and SIGHUP.
>
> It also seems to me that this might be a bit simpler if we created a
> subdirectory /var/log/pgbouncer/ for all the log files.  Then we
> wouldn't have the permissions issues that the "create" directory is
> attempting to solve.

Just committed a fix for this. Can you please pull 9.4 tree and see
whether all problems you reported have been fixed or not? I can push the
packages tomorrow or so.

Regards,


--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR


Attachment

Re: pgbouncer logrotate configuration

From
Peter Eisentraut
Date:
On 5/12/15 5:24 PM, Devrim Gündüz wrote:
>
> Hi,
>
> On Tue, 2015-05-12 at 10:44 -0400, Peter Eisentraut wrote:
>> The pgbouncer logrotate configuration seems a bit contradictory:
>>
>> /var/log/pgbouncer.log {
>>     missingok
>>     notifempty
>>     sharedscripts
>>     copytruncate
>>     create 0640 pgbouncer pgbouncer
>>     nodateext
>>     postrotate
>>         /bin/kill -HUP `cat /var/run/pgbouncer/pgbouncer.pid
>> 2>/dev/null` 2> /dev/null || true
>>     endscript
>> }
>>
>> "create" is ignored if "copytruncate" is used.  And having a postrotate
>> script to send a HUP signal is also pointless if copytruncate is used.
>> We need to decide on one way to do it: either copytruncate, or rename
>> and SIGHUP.
>>
>> It also seems to me that this might be a bit simpler if we created a
>> subdirectory /var/log/pgbouncer/ for all the log files.  Then we
>> wouldn't have the permissions issues that the "create" directory is
>> attempting to solve.
>
> Just committed a fix for this. Can you please pull 9.4 tree and see
> whether all problems you reported have been fixed or not? I can push the
> packages tomorrow or so.

I haven't tested it, but I think the currently committed logrotate file
won't work at all, because *both* the copytruncate the the postrotate
script were removed.  You need to keep at least one.

Also, I think the /var/log/pgbouncer/ directory needs to be created
somewhere in the spec file.



Re: pgbouncer logrotate configuration

From
Peter Eisentraut
Date:
On 5/13/15 4:55 PM, Peter Eisentraut wrote:
> On 5/12/15 5:24 PM, Devrim Gündüz wrote:
>>
>> Hi,
>>
>> On Tue, 2015-05-12 at 10:44 -0400, Peter Eisentraut wrote:
>>> The pgbouncer logrotate configuration seems a bit contradictory:
>>>
>>> /var/log/pgbouncer.log {
>>>     missingok
>>>     notifempty
>>>     sharedscripts
>>>     copytruncate
>>>     create 0640 pgbouncer pgbouncer
>>>     nodateext
>>>     postrotate
>>>         /bin/kill -HUP `cat /var/run/pgbouncer/pgbouncer.pid
>>> 2>/dev/null` 2> /dev/null || true
>>>     endscript
>>> }
>>>
>>> "create" is ignored if "copytruncate" is used.  And having a postrotate
>>> script to send a HUP signal is also pointless if copytruncate is used.
>>> We need to decide on one way to do it: either copytruncate, or rename
>>> and SIGHUP.
>>>
>>> It also seems to me that this might be a bit simpler if we created a
>>> subdirectory /var/log/pgbouncer/ for all the log files.  Then we
>>> wouldn't have the permissions issues that the "create" directory is
>>> attempting to solve.
>>
>> Just committed a fix for this. Can you please pull 9.4 tree and see
>> whether all problems you reported have been fixed or not? I can push the
>> packages tomorrow or so.
>
> I haven't tested it, but I think the currently committed logrotate file
> won't work at all, because *both* the copytruncate the the postrotate
> script were removed.  You need to keep at least one.
>
> Also, I think the /var/log/pgbouncer/ directory needs to be created
> somewhere in the spec file.

This is still not fixed.



Re: pgbouncer logrotate configuration

From
Devrim GÜNDÜZ
Date:
Hi Peter,

On Tue, 2015-09-22 at 14:51 -0400, Peter Eisentraut wrote:
> This is still not fixed.

Peter, can you please do me a favor and send a patch against this?

http://git.postgresql.org/gitweb/?p=pgrpms.git;a=blob;f=rpm/redhat/9.5/
pgbouncer/F
-22/pgbouncer.logrotate;h=7936a71f3e3c409f9b20d0b9164d98930907cb0a;hb=5
7904b139f4362524ec969dac9b52b8ee2ce35d1

Regards,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR