From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Subject: Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
Date: Mon, 6 Sep 2021 21:18:13 -0300
Message-ID: <202109070018.vm2iaigah2v5@alvherre.pgsql> (raw)
In-Reply-To: <20210815003908.GP10479@telsasoft.com>
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.sgmlindex 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: alvherre@alvh.no-ip.org, pryzby@telsasoft.com, bharath.rupireddyforpostgres@gmail.com, pgsql-hackers@lists.postgresql.org
Subject: Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)?
In-Reply-To: <202109070018.vm2iaigah2v5@alvherre.pgsql>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
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