pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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.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

view thread (14+ messages)  latest in thread

Message-ID: <202109070018.vm2iaigah2v5@alvherre.pgsql>
Permalink:  ../202109070018.vm2iaigah2v5@alvherre.pgsql/
Also on:    postgresql.org/message-id/202109070018.vm2iaigah2v5@alvherre.pgsql

 ·  · 

reply

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