Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>
Cc: Justin Pryzby <pryzby(at)telsasoft(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
Date: 2021-07-17 14:45:52
Message-ID: 202107171445.v4okkq2xyytm@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2021-Jul-17, Bharath Rupireddy wrote:

> On Thu, Jul 15, 2021 at 8:17 PM Justin Pryzby <pryzby(at)telsasoft(dot)com> wrote:
> >
> > On Fri, Jul 09, 2021 at 09:24:19PM +0530, Bharath Rupireddy wrote:
> > > I've always had a hard time distinguishing various types of
> > > processes/terms used in postgres. I look at the source code every time
> > > to understand them, yet I don't feel satisfied with my understanding.
> > > I request any hacker (having a better idea than me) to help me with
> > > what each different process does and how they are different from each
> > > other? Of course, I'm clear with normal backends (user sessions), bg
> > > workers, but the others need a bit more understanding.
> >
> > It sounds like something that should be in the glossary, which currently refers
> > to but doesn't define "auxiliary processes".
>
> Thanks. I strongly feel that it should be documented somewhere. I will
> be happy if someone with a clear idea about these various processes
> does it.

Auxiliary process

Process of an <glossterm linkend="glossary-instance">instance</glossterm> in
charge of some specific, hardcoded background task. Examples are
the startup process,
the WAL receiver (but not the WAL senders),
the WAL writer,
the archiver,
the <glossterm linkend="glossary-background-writer">background writer</glossterm>,
the <glossterm linkend="glossary-checkpointer">checkpointer</glossterm>,
the <glossterm linkend="glossary-stats-collector">statistics collector</glossterm>,
and the <glossterm linkend="glossary-logger">logger</glossterm>.

We should probably include individual glossary entries for those that
don't already have one. Maybe revise the entries for ones that do so
that they start with "An auxiliary process that ..."

I just realized that the autovac launcher is not nominally an auxiliary
process (per SubPostmasterMain), which is odd since notionally it
clearly is. Maybe we should include it in the list anyway, with
something like

"and the autovacuum launcher (but not the autovacuum workers)".

--
Álvaro Herrera 39°49'30"S 73°17'W — https://www.EnterpriseDB.com/
"I am amazed at [the pgsql-sql] mailing list for the wonderful support, and
lack of hesitasion in answering a lost soul's question, I just wished the rest
of the mailing list could be like this." (Fotis)
(http://archives.postgresql.org/pgsql-sql/2006-06/msg00265.php)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Justin Pryzby 2021-07-17 14:58:57 Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
Previous Message Bharath Rupireddy 2021-07-17 14:33:57 Re: postgres_fdw - make cached connection functions tests meaningful