Thread: pgbouncer logrotate configuration
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?
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
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.
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.
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