Re: Dynamic background workers & docs question

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Dynamic background workers & docs question
Date: 2014-03-24 14:03:12
Message-ID: CABUevExxtyiD4_Hsa4nkdyxoJfDR4nyMhtiC-mUFU4aEFPZ3JQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Mar 24, 2014 at 12:20 PM, Michael Paquier <michael(dot)paquier(at)gmail(dot)com
> wrote:

> On Mon, Mar 24, 2014 at 5:54 PM, Magnus Hagander <magnus(at)hagander(dot)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/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2014-03-24 14:14:26 Re: Only first XLogRecData is visible to rm_desc with WAL_DEBUG
Previous Message Tom Lane 2014-03-24 13:41:36 Re: Command line argument for Server