On Wed, Feb 15, 2017 at 4:03 PM, Alvaro Herrera <alvhe...@2ndquadrant.com> wrote: > So what is going on here is that SysLogger_Start() wants to unlink the > current-logfile file if the collector is not enabled. This should > probably be split out into a separate new function, for two reasons: > first, it doesn't seem good idea to have SysLogger_Start do something > other than start the logger; and second, so that we don't have a syscall > on each ServerLoop iteration. That new function should be called from > some other place -- perhaps reaper() and just before entering > ServerLoop, so that the file is deleted if the syslogger goes away or is > not started.
I think it's sufficient to just remove the file once on postmaster startup before trying to launch the syslogger for the first time. logging_collector is PGC_POSTMASTER, so if it's not turned on when the cluster first starts, it can't be activated later. If it dies, that doesn't seem like a reason to remove the file. We're going to restart the syslogger, and when we do, it can update the file. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers