Hello,
While working with pgbouncer under CentOS7, I noticed an incompatibility
between pgbouncer and systemd when reloading.
The current reload command is:
ExecReload=/usr/bin/pgbouncer -R -q ${BOUNCERCONF}
But this command create a new pgbouncer process...and keeps it in foreground.
As the service type is set as "forking", in this situation systemctl just sits
and wait for a return code (maybe there's a timeout, but I did not have the
patience to wait for it).
Either add a '-d' to this command, or send a HUP signal to the process.
I prefer the second option as it doesn't create a new process that takes over
the sockets, but just reloads the conf file as expected. Much lighter.
So, imho, the pgbouncer.service file should have:
ExecReload=/bin/kill -HUP $MAINPID
Regards
--
Jehan-Guillaume de Rorthais
Dalibo