Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mNOoq-0000mE-Qn for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Sep 2021 00:18:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mNOoo-00074a-9U for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Sep 2021 00:18:30 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mNOon-00074R-Dz for pgsql-hackers@lists.postgresql.org; Tue, 07 Sep 2021 00:18:30 +0000 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mNOof-0000Bg-Gp for pgsql-hackers@lists.postgresql.org; Tue, 07 Sep 2021 00:18:28 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 64B5F3200904; Mon, 6 Sep 2021 20:18:17 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Mon, 06 Sep 2021 20:18:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=pXoUn9S+AVfbNRp+iK83PLMMS4BRJTY86PZ0Wm5MrvQ=; b=pzjGEKZu 64gSKx6+rB15BDdfxNIhM4f+Azx676Xe93daQOeUILoQqUTHVILL2mJOwIycZS3x wjv00M2IK/lzl+SZ8c/HWBfObm0m7DHGEZTJz77o3Zq802M5lJ+02nzKxMI6hGiV vXlW+6r84y1Gz9Nf0Uw8vD7Q6dynOU90PQNF1aeYaBGa1DsqavZ+luwcg7Fj/k51 KvlUxGxfnhlN9d1PHNPQrd8uSWKc1BkKodazEsIDi2Jdyz5pjPA0WLn/DUZk6nYS 7Vcu6VxTMHNMkmXkYmiMxjf+At25TD4HvR9x/WzJminLQtBjtwoWK5CmQMj7FZz1 0Nb2K5cJevaVLA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrudefgedgfedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfggtggugfgjsehmkeerredttdejnecuhfhrohhmpeetlhhvrghr ohcujfgvrhhrvghrrgcuoegrlhhvhhgvrhhrvgesrghlvhhhrdhnohdqihhprdhorhhgqe enucggtffrrghtthgvrhhnpeehleeukeelieeuleegvdfhhffgjeeifeekgeevheelgefh leffgfelkefggeetieenucffohhmrghinhepphhoshhtghhrvghsqhhlrdhorhhgpdgvnh htvghrphhrihhsvggusgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgr mhepmhgrihhlfhhrohhmpegrlhhvhhgvrhhrvgesrghlvhhhrdhnohdqihhprdhorhhg X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 6 Sep 2021 20:18:16 -0400 (EDT) Received: by perhan.alvh.no-ip.org (Postfix, from userid 1000) id 1FDE12A0781; Mon, 6 Sep 2021 21:18:13 -0300 (-03) Date: Mon, 6 Sep 2021 21:18:13 -0300 From: Alvaro Herrera To: Justin Pryzby Cc: Bharath Rupireddy , pgsql-hackers@lists.postgresql.org Subject: Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Message-ID: <202109070018.vm2iaigah2v5@alvherre.pgsql> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="e7vdrpaxkkuho4um" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20210815003908.GP10479@telsasoft.com> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --e7vdrpaxkkuho4um Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit 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) --e7vdrpaxkkuho4um Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v2-0001-glossary-definitions-for-auxiliary-processes.patch" From 5057123f814625ef4fae6e75ff3d67b390615b4f Mon Sep 17 00:00:00 2001 From: Justin Pryzby 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 vacuum and analyze - operations. + operations. The auxiliary process that coordinates the work + and is always present (unless autovacuum is disabled) + is known as the autovacuum launcher, + and the processes that carry out the tasks are known as the + autovacuum workers. For more information, see @@ -123,6 +127,28 @@ + + Auxiliary process + + + A process that is in charge of some specific background task for + an instance. + The auxiliary processes consist of + the background writer, + the checkpointer, + the statistics collector, + the logger, + the startup process, + the autovacuum launcher + (but not the autovacuum workers), + the WAL archiver, + the WAL receiver + (but not the WAL senders), + and the WAL writer. + + + + Backend (process) @@ -163,7 +189,7 @@ Background writer (process) - A process that writes dirty + An auxiliary process that writes dirty data pages from shared memory to the file system. It wakes up periodically, but works only for a short @@ -285,7 +311,7 @@ Checkpointer (process) - A specialized process responsible for executing checkpoints. + An auxiliary process that is responsible for executing checkpoints. @@ -881,7 +907,7 @@ Logger (process) - If activated, the process + An auxiliary process which (if enabled) writes information about database events into the current log file. When reaching certain time- or @@ -1452,6 +1478,16 @@ + + Startup process + + + An auxiliary process that replays WAL during replication and + crash recovery. + + + + SQL object @@ -1514,7 +1550,7 @@ Stats collector (process) - This process collects statistical information about the + An auxiliary process that collects statistical information about the instance's activities. @@ -1856,7 +1892,8 @@ WAL archiver (process) - A process that saves copies of WAL files + An auxiliary process that saves copies of + WAL files for the purpose of creating backups or keeping replicas current. @@ -1914,11 +1951,42 @@ + + WAL receiver + + + An auxiliary process that runs on a + replica + to receive WAL from the primary server for replay by the + startup process. + + + + For more information, see + . + + + + WAL segment + + WAL sender (process) + + + A process that runs on a server that streams WAL over a + network. The receiving end can be a + WAL receiver + in a replica, + , or any other client program + that speaks the replication protocol. + + + + WAL writer (process) -- 2.30.2 --e7vdrpaxkkuho4um--