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 1mPocN-0001WL-7S for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Sep 2021 16:15:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mPocL-0008Ht-Qm for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Sep 2021 16:15:37 +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 1mPocK-0008Hl-OQ for pgsql-hackers@lists.postgresql.org; Mon, 13 Sep 2021 16:15:37 +0000 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mPocG-0001o3-Rr for pgsql-hackers@lists.postgresql.org; Mon, 13 Sep 2021 16:15:36 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 28EAA5C021E; Mon, 13 Sep 2021 12:15:30 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Mon, 13 Sep 2021 12:15:30 -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=NdDGKojdHkR22s5VT3Xe6Fc6xxlfV+56++Onut255M4=; b=WEkNaNYZ XldGLaFrhq3+tCglV97ELXs+VdzDFn8lFc0S2p+SapkHs88800Fn9sz1NGYcUgGq zy3FbyqHL/FDD1QgKy2q2EXlOb9c3KmO67qLs6C34QQVvgY+dkXwttCIGUu1D3eq Jq/F4HaPOi8scpYCEFE+FQ3pgKcQQ2jvHZqie4w7SYE7kPCt1y1nU8HnBD0K/swu 5TQrk+rQYcuAmzzes+cE8rgrzujdnkR0+dMvH/M5jAdoeBAcufJwXQQFX15hMT5x zKq8m8S/3ke9K5V0XsATpmJh/0m9Ie4oho89G7vZQ52Sw/ZmrV9vCQ0vMUmi+tHa 5+fhiuItynLHSQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrudegjedgleehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfggtggugfgjsehmkeerredttdejnecuhfhrohhmpeetlhhvrghr ohcujfgvrhhrvghrrgcuoegrlhhvhhgvrhhrvgesrghlvhhhrdhnohdqihhprdhorhhgqe enucggtffrrghtthgvrhhnpeetvdfhteeuueekfefhfedugeffhfehhfdvleffleetkeeg geefhffggeekjedtudenucffohhmrghinhepvghnthgvrhhprhhishgvuggsrdgtohhmne cuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprghlvhhh vghrrhgvsegrlhhvhhdrnhhoqdhiphdrohhrgh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 13 Sep 2021 12:15:27 -0400 (EDT) Received: by perhan.alvh.no-ip.org (Postfix, from userid 1000) id CC1482A0875; Mon, 13 Sep 2021 13:15:24 -0300 (-03) Date: Mon, 13 Sep 2021 13:15:24 -0300 From: Alvaro Herrera To: Bharath Rupireddy Cc: Justin Pryzby , PostgreSQL Hackers Subject: Re: What are exactly bootstrap processes, auxiliary processes, standalone backends, normal backends(user sessions)? Message-ID: <202109131615.t5kbtegty25z@alvherre.pgsql> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="df5lbtetszxjsr5s" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --df5lbtetszxjsr5s Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit 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) --df5lbtetszxjsr5s Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v3-0001-glossary-definitions-for-auxiliary-processes.patch" From 5a1290a959da8acf0b2f0f9d24b0b496377dde6c Mon Sep 17 00:00:00 2001 From: Justin Pryzby 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 @@ Analyze (operation) - The process of collecting statistics from data in + The act of collecting statistics from data in tables and other relations to help the query planner @@ -113,8 +113,12 @@ A set of background processes that routinely perform vacuum - and analyze - operations. + and analyze 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,31 @@ + + Auxiliary process + + + A process within an instance + that is in charge of some specific background task for the instance. + The auxiliary processes consist of + + the autovacuum launcher + (but not the autovacuum workers), + the background writer, + the checkpointer, + the logger, + the startup process, + the statistics collector, + the WAL archiver, + the WAL receiver + (but not the WAL senders), + and the WAL writer. + + + + Backend (process) @@ -163,7 +192,8 @@ 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 +315,9 @@ Checkpointer (process) - A specialized process responsible for executing checkpoints. + An auxiliary process + that is responsible for executing + checkpoints. @@ -778,8 +810,9 @@ Instance - A group of backend and auxiliary processes that communicate using - a common shared memory area. One + A group of backend and + auxiliary processes + that communicate using a common shared memory area. One postmaster process manages the instance; one instance manages exactly one database cluster @@ -881,8 +914,8 @@ Logger (process) - If activated, the process - writes information about database events into the current + An auxiliary process + which, if enabled, writes information about database events into the current log file. When reaching certain time- or volume-dependent criteria, a new log file is created. @@ -1040,8 +1073,9 @@ The very first process of an instance. - It starts and manages the other auxiliary processes and creates - backend processes + It starts and manages the + auxiliary processes + and creates backend processes on demand. @@ -1452,6 +1486,22 @@ + + Startup process + + + An auxiliary process + that replays WAL during crash recovery and in a + physical replica. + + + (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.) + + + + SQL object @@ -1514,8 +1564,10 @@ Stats collector (process) - This process collects statistical information about the - instance's activities. + An auxiliary process + which, if enabled, receives statistical information + about the instance's + activities. For more information, see @@ -1856,7 +1908,9 @@ WAL archiver (process) - A process that saves copies of WAL files + An auxiliary process + which, if enabled, saves copies of + WAL files for the purpose of creating backups or keeping replicas current. @@ -1914,11 +1968,44 @@ + + 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 special backend process + 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 --df5lbtetszxjsr5s--