On Mon, Mar 24, 2014 at 12:20 PM, Michael Paquier <michael.paqu...@gmail.com
> wrote:

> On Mon, Mar 24, 2014 at 5:54 PM, Magnus Hagander <mag...@hagander.net>
> wrote:
> > I was looking at
> http://www.postgresql.org/docs/devel/static/bgworker.html
> > with a client today.
> >
> > It says:
> > "Unlike RegisterBackgroundWorker, which can only be called from within
> the
> > postmaster,RegisterDynamicBackgroundWorker must be called from a regular
> > backend."
> >
> > Is that the correct restriction? In particular, don't we allow calling
> > RegisterDynamicBackgroundWorker from another background worker? (In the
> > launcher/worker kind of scenario, like AutoVacuum).
> Yes, you can start a dynamic background worker from another background
> worker, have a look for example at contrib/worker_spi. Perhaps the
> correct wording would be "RegisterDynamicBackgroundWorker must be
> called from a regular backend or another background worker".
>
>
That's what I thought. Can a dynamic background worker start *another*
dynamic background worker, or can they only be started from "first level"
background workers?



> > Also:
> > "Background workers are expected to be continuously running; if they exit
> > cleanly, postgres will restart them immediately. "
> >
> > This doesn't apply to dynamic ones, which we might want to clarify. Do we
> > have a "term" for non-dynamic background workers? "static workers"?
> In the code or the documentation, there is no explicit
> differentiation, bgworkers are either called plainly "bgworker", or
> "dynamic bgworker". Perhaps the solution here is simply to say
> "background workers started by the postmaster are expected blabla".
>

That, or we need to invite a term for it?

-- 
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

Reply via email to