On Sun, May 26, 2013 at 6:16 AM, Fujii Masao <masao.fu...@gmail.com> wrote:
> I found that the normal exit (i.e., with exit code 0) of bgworker > always leads to > the immediate restart of bgworker whatever bgw_restart_time is. Is > this intentional? > Yes, per the docs: http://www.postgresql.org/docs/devel/static/bgworker.html "Background workers are expected to be continuously running; if they exit cleanly, postgres will restart them immediately." > Not only crash but also normal exit should go along with bgw_restart_time? > bgw_restart_time corresponds to the time a bgworker is restarted in case of a crash only. > I'm now writing the bgworker which is allowed to be running only > during recovery. > After recovery ends, that bgworker is expected to exit with code 0. I > was thinking > to avoid the restart of the bgworker after normal exit, by using > BGW_NEVER_RESTART. > This flag makes a worker not to restart only in case of a crash. To solve your problem, you could as well allow your process to restart and put it in indefinite sleep if server is not in recovery such it it will do nothing in your case. Regards, -- Michael