pg.ddx.io pgsql-hackers@postgresql.org mailing list archive
help / color / mirror / Atom feedWhat are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
14+ messages / 5 participants
[nested] [flat]
* What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
@ 2021-07-09 15:54 Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-12 21:30 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Stephen Frost <sfrost@snowman.net>
2021-07-15 14:47 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
0 siblings, 2 replies; 14+ messages in thread
From: Bharath Rupireddy @ 2021-07-09 15:54 UTC (permalink / raw)
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Hi,
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.
I appreciate the help.
Regards,
Bharath Rupireddy.
^ permalink raw reply [nested|flat] 14+ messages in thread
* Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
@ 2021-07-12 21:30 ` Stephen Frost <sfrost@snowman.net>
2021-07-15 14:27 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
1 sibling, 1 reply; 14+ messages in thread
From: Stephen Frost @ 2021-07-12 21:30 UTC (permalink / raw)
To: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>; +Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Greetings,
* Bharath Rupireddy (bharath.rupireddyforpostgres@gmail.com) 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.
There was an effort to try to pull these things together because, yeah,
it seems a bit messy.
I'd suggest you take a look at:
https://www.postgresql.org/message-id/flat/CAMN686FE0OdZKp9YPO=htC6LnA6aW4r-+jq=3Q5RAoFQgW8EtA@mail....
Thanks,
Stephen
Attachments:
[application/pgp-signature] signature.asc (818B, ../../20210712213049.GE20766@tamriel.snowman.net/2-signature.asc)
download
^ permalink raw reply [nested|flat] 14+ messages in thread
* Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-12 21:30 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Stephen Frost <sfrost@snowman.net>
@ 2021-07-15 14:27 ` Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
0 siblings, 0 replies; 14+ messages in thread
From: Bharath Rupireddy @ 2021-07-15 14:27 UTC (permalink / raw)
To: Stephen Frost <sfrost@snowman.net>; +Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
On Tue, Jul 13, 2021 at 3:00 AM Stephen Frost <sfrost@snowman.net> wrote:
>
> Greetings,
>
> * Bharath Rupireddy (bharath.rupireddyforpostgres@gmail.com) 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.
>
> There was an effort to try to pull these things together because, yeah,
> it seems a bit messy.
>
> I'd suggest you take a look at:
>
> https://www.postgresql.org/message-id/flat/CAMN686FE0OdZKp9YPO=htC6LnA6aW4r-+jq=3Q5RAoFQgW8EtA@mail....
Thanks. I will check it.
Regards,
Bharath Rupireddy.
^ permalink raw reply [nested|flat] 14+ messages in thread
* Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
@ 2021-07-15 14:47 ` Justin Pryzby <pryzby@telsasoft.com>
2021-07-17 03:55 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
1 sibling, 1 reply; 14+ messages in thread
From: Justin Pryzby @ 2021-07-15 14:47 UTC (permalink / raw)
To: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>; +Cc: pgsql-hackers@lists.postgresql.org, Alvaro Herrera <alvherre@alvh.no-ip.org>
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".
* Background writer, checkpointer, WAL writer and archiver run during normal
* operation. Startup process and WAL receiver also consume 2 slots, but WAL
* writer is launched only after startup has exited, so we only need 5 slots.
*/
#define NUM_AUXILIARY_PROCS 5
Bootstrap is run by initdb:
src/bin/initdb/initdb.c: "\"%s\" --boot -x0 %s %s "
Standalone backend is run by --single, right ?
--
Justin
^ permalink raw reply [nested|flat] 14+ messages in thread
* Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-15 14:47 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
@ 2021-07-17 03:55 ` Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-17 14:45 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
0 siblings, 1 reply; 14+ messages in thread
From: Bharath Rupireddy @ 2021-07-17 03:55 UTC (permalink / raw)
To: Justin Pryzby <pryzby@telsasoft.com>; +Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>; Alvaro Herrera <alvherre@alvh.no-ip.org>
On Thu, Jul 15, 2021 at 8:17 PM Justin Pryzby <pryzby@telsasoft.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.
> * Background writer, checkpointer, WAL writer and archiver run during normal
> * operation. Startup process and WAL receiver also consume 2 slots, but WAL
> * writer is launched only after startup has exited, so we only need 5 slots.
> */
> #define NUM_AUXILIARY_PROCS 5
>
> Bootstrap is run by initdb:
> src/bin/initdb/initdb.c: "\"%s\" --boot -x0 %s %s "
>
> Standalone backend is run by --single, right ?
Maybe(?). I found another snippet below:
if (argc > 1 && strcmp(argv[1], "--boot") == 0)
AuxiliaryProcessMain(argc, argv); /* does not return */
else if (argc > 1 && strcmp(argv[1], "--describe-config") == 0)
GucInfoMain(); /* does not return */
else if (argc > 1 && strcmp(argv[1], "--single") == 0)
PostgresMain(argc, argv,
NULL, /* no dbname */
strdup(get_user_name_or_exit(progname))); /*
does not return */
else
PostmasterMain(argc, argv); /* does not return */
Regards,
Bharath Rupireddy.
^ permalink raw reply [nested|flat] 14+ messages in thread
* Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-15 14:47 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-07-17 03:55 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
@ 2021-07-17 14:45 ` Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-07-17 14:58 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-08-15 00:39 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
0 siblings, 2 replies; 14+ messages in thread
From: Alvaro Herrera @ 2021-07-17 14:45 UTC (permalink / raw)
To: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>; +Cc: Justin Pryzby <pryzby@telsasoft.com>; PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
On 2021-Jul-17, Bharath Rupireddy wrote:
> On Thu, Jul 15, 2021 at 8:17 PM Justin Pryzby <pryzby@telsasoft.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)
^ permalink raw reply [nested|flat] 14+ messages in thread
* Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-15 14:47 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-07-17 03:55 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-17 14:45 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
@ 2021-07-17 14:58 ` Justin Pryzby <pryzby@telsasoft.com>
2021-07-17 15:57 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Tom Lane <tgl@sss.pgh.pa.us>
1 sibling, 1 reply; 14+ messages in thread
From: Justin Pryzby @ 2021-07-17 14:58 UTC (permalink / raw)
To: Alvaro Herrera <alvherre@alvh.no-ip.org>; +Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>; pgsql-hackers@lists.postgresql.org
On Sat, Jul 17, 2021 at 10:45:52AM -0400, Alvaro Herrera wrote:
> On 2021-Jul-17, Bharath Rupireddy wrote:
>
> > On Thu, Jul 15, 2021 at 8:17 PM Justin Pryzby <pryzby@telsasoft.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
I think "of an instance" is a distraction here, even if technically accurate.
> charge of some specific, hardcoded background task. Examples are
And I think "hardcoded" doesn't mean anything beyond what "specific" means.
Maybe you'd say: .. process which handles a specific, central task for the
cluster instance.
Thanks,
--
Justin
^ permalink raw reply [nested|flat] 14+ messages in thread
* Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-15 14:47 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-07-17 03:55 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-17 14:45 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-07-17 14:58 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
@ 2021-07-17 15:57 ` Tom Lane <tgl@sss.pgh.pa.us>
0 siblings, 0 replies; 14+ messages in thread
From: Tom Lane @ 2021-07-17 15:57 UTC (permalink / raw)
To: Justin Pryzby <pryzby@telsasoft.com>; +Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>; Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>; pgsql-hackers@lists.postgresql.org
Justin Pryzby <pryzby@telsasoft.com> writes:
> On Sat, Jul 17, 2021 at 10:45:52AM -0400, Alvaro Herrera wrote:
>> Process of an <glossterm linkend="glossary-instance">instance</glossterm> in
>> charge of some specific, hardcoded background task. Examples are
> And I think "hardcoded" doesn't mean anything beyond what "specific" means.
> Maybe you'd say: .. process which handles a specific, central task for the
> cluster instance.
Meh. "Specific" and "background" both seem to be useful terms here.
I do not think "central" is a useful adjective.
regards, tom lane
^ permalink raw reply [nested|flat] 14+ messages in thread
* Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-15 14:47 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-07-17 03:55 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-17 14:45 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
@ 2021-08-15 00:39 ` Justin Pryzby <pryzby@telsasoft.com>
2021-09-07 00:18 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
1 sibling, 1 reply; 14+ messages in thread
From: Justin Pryzby @ 2021-08-15 00:39 UTC (permalink / raw)
To: Alvaro Herrera <alvherre@alvh.no-ip.org>; +Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>; pgsql-hackers@lists.postgresql.org
On Sat, Jul 17, 2021 at 10:45:52AM -0400, Alvaro Herrera wrote:
> On 2021-Jul-17, Bharath Rupireddy wrote:
> > On Thu, Jul 15, 2021 at 8:17 PM Justin Pryzby wrote:
> > > 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
I elaborated on your definition and added here.
https://commitfest.postgresql.org/34/3285/
Attachments:
[text/x-diff] 0001-glossary-definitions-for-auxiliary-processes.patch (4.5K, ../../20210815003908.GP10479@telsasoft.com/2-0001-glossary-definitions-for-auxiliary-processes.patch)
download | inline diff:
From 9855c0d186251407c868fe0b0d93571541313f55 Mon Sep 17 00:00:00 2001
From: Justin Pryzby <pryzbyj@telsasoft.com>
Date: Sat, 14 Aug 2021 18:51:37 -0500
Subject: [PATCH] glossary definitions for auxiliary processes
---
doc/src/sgml/glossary.sgml | 58 ++++++++++++++++++++++++++++++++++----
1 file changed, 53 insertions(+), 5 deletions(-)
diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml
index 63ff4bbdf0..881d16d6c4 100644
--- a/doc/src/sgml/glossary.sgml
+++ b/doc/src/sgml/glossary.sgml
@@ -123,6 +123,27 @@
</glossdef>
</glossentry>
+ <glossentry id="glossary-auxiliary">
+ <glossterm>Auxiliary process</glossterm>
+ <glossdef>
+ <para>
+ Process that is in charge of a specific, hardcoded, background task for
+ an <glossterm linkend="glossary-instance">instance</glossterm>.
+ The auxiliary processes consist of
+<!-- the autovacuum launcher (but not the autovacuum workers), -->
+ 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>,
+ the <glossterm linkend="glossary-logger">logger</glossterm>,
+ the <glossterm linkend="glossary-startup-process">startup process</glossterm>,
+ the <glossterm linkend="glossary-wal-archiver">WAL archiver</glossterm>.
+ the <glossterm linkend="glossary-wal-receiver">WAL receiver</glossterm>
+ (but not the WAL senders), and the
+ <glossterm linkend="glossary-wal-writer">WAL writer</glossterm>.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id="glossary-backend">
<glossterm>Backend (process)</glossterm>
<glossdef>
@@ -163,7 +184,7 @@
<glossterm>Background writer (process)</glossterm>
<glossdef>
<para>
- A process that writes dirty
+ An auxiliary process that writes dirty
<glossterm linkend="glossary-data-page">data pages</glossterm> from
<glossterm linkend="glossary-shared-memory">shared memory</glossterm> to
the file system. It wakes up periodically, but works only for a short
@@ -285,7 +306,7 @@
<glossterm>Checkpointer (process)</glossterm>
<glossdef>
<para>
- A specialized process responsible for executing checkpoints.
+ An auxiliary process that is responsible for executing checkpoints.
</para>
</glossdef>
</glossentry>
@@ -881,7 +902,7 @@
<glossterm>Logger (process)</glossterm>
<glossdef>
<para>
- If activated, the process
+ An auxiliary process which (if enabled)
writes information about database events into the current
<glossterm linkend="glossary-log-file">log file</glossterm>.
When reaching certain time- or
@@ -1452,6 +1473,16 @@
</glossdef>
</glossentry>
+ <glossentry id="glossary-startup-process">
+ <glossterm>Startup process</glossterm>
+ <glossdef>
+ <para>
+ An auxiliary process that replays WAL during crash recovery and (on
+ replicas) archive recovery.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id="glossary-sql-object">
<glossterm>SQL object</glossterm>
<glossdef>
@@ -1514,7 +1545,7 @@
<glossterm>Stats collector (process)</glossterm>
<glossdef>
<para>
- This process collects statistical information about the
+ An auxiliary process that collects statistical information about the
<glossterm linkend="glossary-instance">instance</glossterm>'s activities.
</para>
<para>
@@ -1856,7 +1887,8 @@
<glossterm>WAL archiver (process)</glossterm>
<glossdef>
<para>
- A process that saves copies of <glossterm linkend="glossary-wal-file">WAL files</glossterm>
+ An auxiliary process that saves copies of
+ <glossterm linkend="glossary-wal-file">WAL files</glossterm>
for the purpose of creating backups or keeping
<glossterm linkend="glossary-replica">replicas</glossterm> current.
</para>
@@ -1914,6 +1946,22 @@
</glossdef>
</glossentry>
+ <glossentry id="glossary-wal-receiver">
+ <glossterm>WAL receiver</glossterm>
+ <glossdef>
+ <para>
+ An auxiliary process that runs on a
+ <glossterm linkend="glossary-replica">replica</glossterm>
+ to receive and replay WAL from the primary server.
+ </para>
+
+ <para>
+ For more information, see
+ <xref linkend="warm-standby"/>.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry>
<glossterm>WAL segment</glossterm>
<glosssee otherterm="glossary-wal-file" />
--
2.17.0
^ permalink raw reply [nested|flat] 14+ messages in thread
* Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-15 14:47 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-07-17 03:55 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-17 14:45 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-08-15 00:39 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
@ 2021-09-07 00:18 ` Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-09-07 00:49 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-09-07 11:22 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
0 siblings, 2 replies; 14+ messages in thread
From: Alvaro Herrera @ 2021-09-07 00:18 UTC (permalink / raw)
To: Justin Pryzby <pryzby@telsasoft.com>; +Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>; pgsql-hackers@lists.postgresql.org
On 2021-Aug-14, Justin Pryzby wrote:
> I elaborated on your definition and added here.
> https://commitfest.postgresql.org/34/3285/
Thanks! This works for me. After looking at it, it seemed to me that
listing the autovacuum launcher is perfectly adapted, so we might as
well do it; and add verbiage about it to the autovacuum entry. (I was
first adding a whole new glossary entry for it, but it seemed overkill.)
I also ended up adding an entry for WAL sender -- seems to round things
nicely.
... In doing so I noticed that the definition for startup process and
WAL receiver is slightly wrong. WAL receiver only receives, it doesn't
replay; it is always the startup process the one that replays. So I
changed that too.
What do you think?
PS: I almost want to add a note to the startup process entry, something
like "(The name is historical: it refers to its task before the
introduction of replication, when it was only related to the server
starting up after a crash.)"
PPS: Do we want the list to be in alphabetical order, or some other
order?
--
Álvaro Herrera 39°49'30"S 73°17'W — https://www.EnterpriseDB.com/
"Tiene valor aquel que admite que es un cobarde" (Fernandel)
Attachments:
[text/x-diff] v2-0001-glossary-definitions-for-auxiliary-processes.patch (5.9K, ../../202109070018.vm2iaigah2v5@alvherre.pgsql/2-v2-0001-glossary-definitions-for-auxiliary-processes.patch)
download | inline diff:
From 5057123f814625ef4fae6e75ff3d67b390615b4f Mon Sep 17 00:00:00 2001
From: Justin Pryzby <pryzbyj@telsasoft.com>
Date: Sat, 14 Aug 2021 18:51:37 -0500
Subject: [PATCH v2] glossary definitions for auxiliary processes
---
doc/src/sgml/glossary.sgml | 80 +++++++++++++++++++++++++++++++++++---
1 file changed, 74 insertions(+), 6 deletions(-)
diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml
index 63ff4bbdf0..b311293492 100644
--- a/doc/src/sgml/glossary.sgml
+++ b/doc/src/sgml/glossary.sgml
@@ -114,7 +114,11 @@
A set of background processes that routinely perform
<glossterm linkend="glossary-vacuum">vacuum</glossterm>
and <glossterm linkend="glossary-analyze">analyze</glossterm>
- operations.
+ operations. The auxiliary process that coordinates the work
+ and is always present (unless autovacuum is disabled)
+ is known as the <firstterm>autovacuum launcher</firstterm>,
+ and the processes that carry out the tasks are known as the
+ <firstterm>autovacuum workers</firstterm>.
</para>
<para>
For more information, see
@@ -123,6 +127,28 @@
</glossdef>
</glossentry>
+ <glossentry id="glossary-auxiliary-proc">
+ <glossterm>Auxiliary process</glossterm>
+ <glossdef>
+ <para>
+ A process that is in charge of some specific background task for
+ an <glossterm linkend="glossary-instance">instance</glossterm>.
+ The auxiliary processes consist of
+ 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>,
+ the <glossterm linkend="glossary-logger">logger</glossterm>,
+ the <glossterm linkend="glossary-startup-process">startup process</glossterm>,
+ the <glossterm linkend="glossary-autovacuum">autovacuum launcher</glossterm>
+ (but not the autovacuum workers),
+ the <glossterm linkend="glossary-wal-archiver">WAL archiver</glossterm>,
+ the <glossterm linkend="glossary-wal-receiver">WAL receiver</glossterm>
+ (but not the <glossterm linkend="glossary-wal-sender">WAL senders</glossterm>),
+ and the <glossterm linkend="glossary-wal-writer">WAL writer</glossterm>.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id="glossary-backend">
<glossterm>Backend (process)</glossterm>
<glossdef>
@@ -163,7 +189,7 @@
<glossterm>Background writer (process)</glossterm>
<glossdef>
<para>
- A process that writes dirty
+ An auxiliary process that writes dirty
<glossterm linkend="glossary-data-page">data pages</glossterm> from
<glossterm linkend="glossary-shared-memory">shared memory</glossterm> to
the file system. It wakes up periodically, but works only for a short
@@ -285,7 +311,7 @@
<glossterm>Checkpointer (process)</glossterm>
<glossdef>
<para>
- A specialized process responsible for executing checkpoints.
+ An auxiliary process that is responsible for executing checkpoints.
</para>
</glossdef>
</glossentry>
@@ -881,7 +907,7 @@
<glossterm>Logger (process)</glossterm>
<glossdef>
<para>
- If activated, the process
+ An auxiliary process which (if enabled)
writes information about database events into the current
<glossterm linkend="glossary-log-file">log file</glossterm>.
When reaching certain time- or
@@ -1452,6 +1478,16 @@
</glossdef>
</glossentry>
+ <glossentry id="glossary-startup-process">
+ <glossterm>Startup process</glossterm>
+ <glossdef>
+ <para>
+ An auxiliary process that replays WAL during replication and
+ crash recovery.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id="glossary-sql-object">
<glossterm>SQL object</glossterm>
<glossdef>
@@ -1514,7 +1550,7 @@
<glossterm>Stats collector (process)</glossterm>
<glossdef>
<para>
- This process collects statistical information about the
+ An auxiliary process that collects statistical information about the
<glossterm linkend="glossary-instance">instance</glossterm>'s activities.
</para>
<para>
@@ -1856,7 +1892,8 @@
<glossterm>WAL archiver (process)</glossterm>
<glossdef>
<para>
- A process that saves copies of <glossterm linkend="glossary-wal-file">WAL files</glossterm>
+ An auxiliary process that saves copies of
+ <glossterm linkend="glossary-wal-file">WAL files</glossterm>
for the purpose of creating backups or keeping
<glossterm linkend="glossary-replica">replicas</glossterm> current.
</para>
@@ -1914,11 +1951,42 @@
</glossdef>
</glossentry>
+ <glossentry id="glossary-wal-receiver">
+ <glossterm>WAL receiver</glossterm>
+ <glossdef>
+ <para>
+ An auxiliary process that runs on a
+ <glossterm linkend="glossary-replica">replica</glossterm>
+ to receive WAL from the primary server for replay by the
+ <glossterm linkend="glossary-startup-process">startup process</glossterm>.
+ </para>
+
+ <para>
+ For more information, see
+ <xref linkend="warm-standby"/>.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry>
<glossterm>WAL segment</glossterm>
<glosssee otherterm="glossary-wal-file" />
</glossentry>
+ <glossentry id="glossary-wal-sender">
+ <glossterm>WAL sender (process)</glossterm>
+ <glossdef>
+ <para>
+ A process that runs on a server that streams WAL over a
+ network. The receiving end can be a
+ <glossterm linkend="glossary-wal-receiver">WAL receiver</glossterm>
+ in a <glossterm linkend="glossary-replica">replica</glossterm>,
+ <xref linkend="app-pgreceivewal"/>, or any other client program
+ that speaks the replication protocol.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id="glossary-wal-writer">
<glossterm>WAL writer (process)</glossterm>
<glossdef>
--
2.30.2
^ permalink raw reply [nested|flat] 14+ messages in thread
* Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-15 14:47 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-07-17 03:55 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-17 14:45 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-08-15 00:39 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-09-07 00:18 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
@ 2021-09-07 00:49 ` Justin Pryzby <pryzby@telsasoft.com>
1 sibling, 0 replies; 14+ messages in thread
From: Justin Pryzby @ 2021-09-07 00:49 UTC (permalink / raw)
To: Alvaro Herrera <alvherre@alvh.no-ip.org>; +Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>; pgsql-hackers@lists.postgresql.org
On Mon, Sep 06, 2021 at 09:18:13PM -0300, Alvaro Herrera wrote:
> On 2021-Aug-14, Justin Pryzby wrote:
>
> > I elaborated on your definition and added here.
> > https://commitfest.postgresql.org/34/3285/
>
> Thanks! This works for me. After looking at it, it seemed to me that
> listing the autovacuum launcher is perfectly adapted, so we might as
> well do it; and add verbiage about it to the autovacuum entry. (I was
> first adding a whole new glossary entry for it, but it seemed overkill.)
>
> I also ended up adding an entry for WAL sender -- seems to round things
> nicely.
Sure.
Maybe change "Stats collector" to say that it *receives* stats (not collects
them). And maybe say "(if enabled)" or (unless disabled).
> PS: I almost want to add a note to the startup process entry, something
> like "(The name is historical: it refers to its task before the
> introduction of replication, when it was only related to the server
> starting up after a crash.)"
I'd say "(The name is historical: the startup process was named before
replication was implemented; the name refers to its task as it relates to the
server startup following a crash.)"
> PPS: Do we want the list to be in alphabetical order, or some other
> order?
I copied them out of the header file - but that may not matter nor make sense
to someone reading the glossary.
Cheers
--
Justin
^ permalink raw reply [nested|flat] 14+ messages in thread
* Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-15 14:47 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-07-17 03:55 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-17 14:45 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-08-15 00:39 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-09-07 00:18 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
@ 2021-09-07 11:22 ` Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-09-13 16:15 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
1 sibling, 1 reply; 14+ messages in thread
From: Bharath Rupireddy @ 2021-09-07 11:22 UTC (permalink / raw)
To: Alvaro Herrera <alvherre@alvh.no-ip.org>; +Cc: Justin Pryzby <pryzby@telsasoft.com>; PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
On Tue, Sep 7, 2021 at 5:48 AM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
>
> On 2021-Aug-14, Justin Pryzby wrote:
>
> > I elaborated on your definition and added here.
> > https://commitfest.postgresql.org/34/3285/
>
> Thanks! This works for me. After looking at it, it seemed to me that
> listing the autovacuum launcher is perfectly adapted, so we might as
> well do it; and add verbiage about it to the autovacuum entry. (I was
> first adding a whole new glossary entry for it, but it seemed overkill.)
>
> I also ended up adding an entry for WAL sender -- seems to round things
> nicely.
>
> ... In doing so I noticed that the definition for startup process and
> WAL receiver is slightly wrong. WAL receiver only receives, it doesn't
> replay; it is always the startup process the one that replays. So I
> changed that too.
Thanks for the v2 patch, here are some comments on it:
1) How about
A set of background processes (<firstterm>autovacuum
launcher</firstterm> and <firstterm>autovacuum workers</firstterm>)
that routinely perform
instead of
A set of background processes that routinely perform
?
2) In what way we call autovacuum launcher an auxiliary process but
not autovacuum worker? And autovacuum isn't a background worker right?
Why can't we call it an auxiliary process?
+ (but not the autovacuum workers),
3) Isn't it "WAL sender" instead of "WAL senders"?
+ (but not the <glossterm linkend="glossary-wal-sender">WAL
senders</glossterm>),
4) replays WAL during replication? Isn't it "replays WAL during crash
recovery or in standby mode"
+ An auxiliary process that replays WAL during replication and
+ crash recovery.
5) Should we mention that WAL archiver too is optional similar to
Logger (process)? Also, let us rearrange the text a bit to be in sync.
+ An auxiliary process which (if enabled) saves copies of
+ <glossterm linkend="glossary-wal-file">WAL files</glossterm>
+ An auxiliary process which (if enabled)
writes information about database events into the current
6) Shouldn't we mention "<glossterm
linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
instead of just plain "auxilary process"?
7) Shouldn't we mention "<glossterm
linkend="glossary-primary-server">primary</glossterm>"? instead of
"primary server"?
+ to receive WAL from the primary server for replay by the
8) I agree to not call walsender an auxiliary process because it is
type of a <glossterm linkend="glossary-backend">backend</glossterm>
process that understands replication commands only. Instead of saying
"A process that runs..."
why can't we mention that in the description?
+ A process that runs on a server that streams WAL over a
+ network. The receiving end can be a
+ <glossterm linkend="glossary-wal-receiver">WAL receiver</glossterm>
Regards,
Bharath Rupireddy.
^ permalink raw reply [nested|flat] 14+ messages in thread
* Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-15 14:47 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-07-17 03:55 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-17 14:45 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-08-15 00:39 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-09-07 00:18 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-09-07 11:22 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
@ 2021-09-13 16:15 ` Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-09-20 15:28 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
0 siblings, 1 reply; 14+ messages in thread
From: Alvaro Herrera @ 2021-09-13 16:15 UTC (permalink / raw)
To: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>; +Cc: Justin Pryzby <pryzby@telsasoft.com>; PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Thanks Bharath and Justin -- I think I took all the suggestions and made
a few other changes of my own. Here's the result.
I'm not 100% happy with the historical note in "startup process", mostly
because it uses the word "name" three times too close to each other.
Didn't quickly see an obvious way to reword it to avoid that.
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
"Most hackers will be perfectly comfortable conceptualizing users as entropy
sources, so let's move on." (Nathaniel Smith)
Attachments:
[text/x-diff] v3-0001-glossary-definitions-for-auxiliary-processes.patch (8.9K, ../../202109131615.t5kbtegty25z@alvherre.pgsql/2-v3-0001-glossary-definitions-for-auxiliary-processes.patch)
download | inline diff:
From 5a1290a959da8acf0b2f0f9d24b0b496377dde6c Mon Sep 17 00:00:00 2001
From: Justin Pryzby <pryzbyj@telsasoft.com>
Date: Sat, 14 Aug 2021 18:51:37 -0500
Subject: [PATCH v3] glossary definitions for auxiliary processes
---
doc/src/sgml/glossary.sgml | 115 ++++++++++++++++++++++++++++++++-----
1 file changed, 101 insertions(+), 14 deletions(-)
diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml
index 63ff4bbdf0..22bff3d659 100644
--- a/doc/src/sgml/glossary.sgml
+++ b/doc/src/sgml/glossary.sgml
@@ -48,7 +48,7 @@
<glossterm>Analyze (operation)</glossterm>
<glossdef>
<para>
- The process of collecting statistics from data in
+ The act of collecting statistics from data in
<glossterm linkend="glossary-table">tables</glossterm>
and other <glossterm linkend="glossary-relation">relations</glossterm>
to help the <glossterm linkend="glossary-planner">query planner</glossterm>
@@ -113,8 +113,12 @@
<para>
A set of background processes that routinely perform
<glossterm linkend="glossary-vacuum">vacuum</glossterm>
- and <glossterm linkend="glossary-analyze">analyze</glossterm>
- operations.
+ and <glossterm linkend="glossary-analyze">analyze</glossterm> operations.
+ The <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
+ that coordinates the work and is always present (unless autovacuum
+ is disabled) is known as the <firstterm>autovacuum launcher</firstterm>,
+ and the processes that carry out the tasks are known as the
+ <firstterm>autovacuum workers</firstterm>.
</para>
<para>
For more information, see
@@ -123,6 +127,31 @@
</glossdef>
</glossentry>
+ <glossentry id="glossary-auxiliary-proc">
+ <glossterm>Auxiliary process</glossterm>
+ <glossdef>
+ <para>
+ A process within an <glossterm linkend="glossary-instance">instance</glossterm>
+ that is in charge of some specific background task for the instance.
+ The auxiliary processes consist of <!-- in alphabetical order -->
+ <!-- NB: In the code, the autovac launcher doesn't use the auxiliary
+ process scaffolding; however it does behave as one so we list it
+ here anyway. -->
+ the <glossterm linkend="glossary-autovacuum">autovacuum launcher</glossterm>
+ (but not the autovacuum workers),
+ the <glossterm linkend="glossary-background-writer">background writer</glossterm>,
+ the <glossterm linkend="glossary-checkpointer">checkpointer</glossterm>,
+ the <glossterm linkend="glossary-logger">logger</glossterm>,
+ the <glossterm linkend="glossary-startup-process">startup process</glossterm>,
+ the <glossterm linkend="glossary-stats-collector">statistics collector</glossterm>,
+ the <glossterm linkend="glossary-wal-archiver">WAL archiver</glossterm>,
+ the <glossterm linkend="glossary-wal-receiver">WAL receiver</glossterm>
+ (but not the <glossterm linkend="glossary-wal-sender">WAL senders</glossterm>),
+ and the <glossterm linkend="glossary-wal-writer">WAL writer</glossterm>.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id="glossary-backend">
<glossterm>Backend (process)</glossterm>
<glossdef>
@@ -163,7 +192,8 @@
<glossterm>Background writer (process)</glossterm>
<glossdef>
<para>
- A process that writes dirty
+ An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
+ that writes dirty
<glossterm linkend="glossary-data-page">data pages</glossterm> from
<glossterm linkend="glossary-shared-memory">shared memory</glossterm> to
the file system. It wakes up periodically, but works only for a short
@@ -285,7 +315,9 @@
<glossterm>Checkpointer (process)</glossterm>
<glossdef>
<para>
- A specialized process responsible for executing checkpoints.
+ An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
+ that is responsible for executing
+ <glossterm linkend="glossary-checkpoint">checkpoints</glossterm>.
</para>
</glossdef>
</glossentry>
@@ -778,8 +810,9 @@
<glossterm>Instance</glossterm>
<glossdef>
<para>
- A group of backend and auxiliary processes that communicate using
- a common shared memory area. One
+ A group of <glossterm linkend="glossary-backend">backend</glossterm> and
+ <glossterm linkend="glossary-auxiliary-proc">auxiliary processes</glossterm>
+ that communicate using a common shared memory area. One
<glossterm linkend="glossary-postmaster">postmaster process</glossterm>
manages the instance; one instance manages exactly one
<glossterm linkend="glossary-db-cluster">database cluster</glossterm>
@@ -881,8 +914,8 @@
<glossterm>Logger (process)</glossterm>
<glossdef>
<para>
- If activated, the process
- writes information about database events into the current
+ An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
+ which, if enabled, writes information about database events into the current
<glossterm linkend="glossary-log-file">log file</glossterm>.
When reaching certain time- or
volume-dependent criteria, a new log file is created.
@@ -1040,8 +1073,9 @@
<glossdef>
<para>
The very first process of an <glossterm linkend="glossary-instance">instance</glossterm>.
- It starts and manages the other auxiliary processes and creates
- <glossterm linkend="glossary-backend">backend processes</glossterm>
+ It starts and manages the
+ <glossterm linkend="glossary-auxiliary-proc">auxiliary processes</glossterm>
+ and creates <glossterm linkend="glossary-backend">backend processes</glossterm>
on demand.
</para>
<para>
@@ -1452,6 +1486,22 @@
</glossdef>
</glossentry>
+ <glossentry id="glossary-startup-process">
+ <glossterm>Startup process</glossterm>
+ <glossdef>
+ <para>
+ An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
+ that replays WAL during crash recovery and in a
+ <glossterm linkend="glossary-replication">physical replica</glossterm>.
+ </para>
+ <para>
+ (The name is historical: the startup process was named before
+ replication was implemented; the name refers to its task as it
+ relates to the server startup following a crash.)
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id="glossary-sql-object">
<glossterm>SQL object</glossterm>
<glossdef>
@@ -1514,8 +1564,10 @@
<glossterm>Stats collector (process)</glossterm>
<glossdef>
<para>
- This process collects statistical information about the
- <glossterm linkend="glossary-instance">instance</glossterm>'s activities.
+ An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
+ which, if enabled, receives statistical information
+ about the <glossterm linkend="glossary-instance">instance</glossterm>'s
+ activities.
</para>
<para>
For more information, see
@@ -1856,7 +1908,9 @@
<glossterm>WAL archiver (process)</glossterm>
<glossdef>
<para>
- A process that saves copies of <glossterm linkend="glossary-wal-file">WAL files</glossterm>
+ An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
+ which, if enabled, saves copies of
+ <glossterm linkend="glossary-wal-file">WAL files</glossterm>
for the purpose of creating backups or keeping
<glossterm linkend="glossary-replica">replicas</glossterm> current.
</para>
@@ -1914,11 +1968,44 @@
</glossdef>
</glossentry>
+ <glossentry id="glossary-wal-receiver">
+ <glossterm>WAL receiver</glossterm>
+ <glossdef>
+ <para>
+ An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
+ that runs on a <glossterm linkend="glossary-replica">replica</glossterm>
+ to receive WAL from the
+ <glossterm linkend="glossary-primary-server">primary server</glossterm>
+ for replay by the
+ <glossterm linkend="glossary-startup-process">startup process</glossterm>.
+ </para>
+
+ <para>
+ For more information, see
+ <xref linkend="warm-standby"/>.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry>
<glossterm>WAL segment</glossterm>
<glosssee otherterm="glossary-wal-file" />
</glossentry>
+ <glossentry id="glossary-wal-sender">
+ <glossterm>WAL sender (process)</glossterm>
+ <glossdef>
+ <para>
+ A special <glossterm linkend="glossary-backend">backend process</glossterm>
+ that streams WAL over a network. The receiving end can be a
+ <glossterm linkend="glossary-wal-receiver">WAL receiver</glossterm>
+ in a <glossterm linkend="glossary-replica">replica</glossterm>,
+ <xref linkend="app-pgreceivewal"/>, or any other client program
+ that speaks the replication protocol.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id="glossary-wal-writer">
<glossterm>WAL writer (process)</glossterm>
<glossdef>
--
2.30.2
^ permalink raw reply [nested|flat] 14+ messages in thread
* Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-15 14:47 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-07-17 03:55 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-17 14:45 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-08-15 00:39 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Justin Pryzby <pryzby@telsasoft.com>
2021-09-07 00:18 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-09-07 11:22 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-09-13 16:15 ` Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Alvaro Herrera <alvherre@alvh.no-ip.org>
@ 2021-09-20 15:28 ` Alvaro Herrera <alvherre@alvh.no-ip.org>
0 siblings, 0 replies; 14+ messages in thread
From: Alvaro Herrera @ 2021-09-20 15:28 UTC (permalink / raw)
To: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>; +Cc: Justin Pryzby <pryzby@telsasoft.com>; PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
On 2021-Sep-13, Alvaro Herrera wrote:
> Thanks Bharath and Justin -- I think I took all the suggestions and made
> a few other changes of my own. Here's the result.
Pushed this with very minor additional changes, thanks.
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
^ permalink raw reply [nested|flat] 14+ messages in thread
end of thread, other threads:[~2021-09-20 15:28 UTC | newest]
Thread overview: 14+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2021-07-09 15:54 What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-12 21:30 ` Stephen Frost <sfrost@snowman.net>
2021-07-15 14:27 ` Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-15 14:47 ` Justin Pryzby <pryzby@telsasoft.com>
2021-07-17 03:55 ` Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-07-17 14:45 ` Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-07-17 14:58 ` Justin Pryzby <pryzby@telsasoft.com>
2021-07-17 15:57 ` Tom Lane <tgl@sss.pgh.pa.us>
2021-08-15 00:39 ` Justin Pryzby <pryzby@telsasoft.com>
2021-09-07 00:18 ` Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-09-07 00:49 ` Justin Pryzby <pryzby@telsasoft.com>
2021-09-07 11:22 ` Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
2021-09-13 16:15 ` Alvaro Herrera <alvherre@alvh.no-ip.org>
2021-09-20 15:28 ` Alvaro Herrera <alvherre@alvh.no-ip.org>
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox