Control: tags -1 upstream Re: Chris Butler 2016-02-02 <20160202131415.28076.48745.report...@taskrunner.staging.trac.jobs> > In the good old sysvinit days, an upgrade to pgbouncer could be done > seamlessly > because the init script used the -R flag to tell pgbouncer to take over from > the > existing daemon. However, it seems like this doesn't happen when using > systemd. > > Is there any way to bring back zero connection loss upgrades under systemd?
Hi, I always meant to bring back this behavior with the systemd service file, but after chatting about this with one of the upstream authors, Peter Eisentraut, at the last PGconf.EU, we figured that it's unfortunately unfixable. The problem is that pgbouncer spawns a new process, transfers the open file descriptors, and exits. Systemd doesn't like that the original process goes away. Not sure if there's a way around that, certainly not with TLS connections (but that doesn't work without systemd either). Possibly moving the connections to a helper process first, and then exec()ing to the new version, and moving the connections back to the original PID would work. Peter? Christoph