Skip to content

Commit d3014ff

Browse files
committed
Doc: add glossary term for "auxiliary process"
Add entries for existing processes not documented, too, and adjust existing definitions for consistency. Per question from Bharath Rupireddy. Author: Justin Pryzby <pryzby@telsasoft.com> Author: Alvaro Herrera <alvherre@alvh.no-ip.org> Discussion: https://postgr.es/m/CALj2ACVpYCT0M+k8zqrAa4ZQZV+ce5s6G=yajwoS1m=h-jj8NQ@mail.gmail.com
1 parent 5577cd5 commit d3014ff

File tree

2 files changed

+106
-14
lines changed

2 files changed

+106
-14
lines changed

doc/src/sgml/glossary.sgml

Lines changed: 104 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
<glossterm>Analyze (operation)</glossterm>
4949
<glossdef>
5050
<para>
51-
The process of collecting statistics from data in
51+
The act of collecting statistics from data in
5252
<glossterm linkend="glossary-table">tables</glossterm>
5353
and other <glossterm linkend="glossary-relation">relations</glossterm>
5454
to help the <glossterm linkend="glossary-planner">query planner</glossterm>
@@ -113,8 +113,12 @@
113113
<para>
114114
A set of background processes that routinely perform
115115
<glossterm linkend="glossary-vacuum">vacuum</glossterm>
116-
and <glossterm linkend="glossary-analyze">analyze</glossterm>
117-
operations.
116+
and <glossterm linkend="glossary-analyze">analyze</glossterm> operations.
117+
The <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
118+
that coordinates the work and is always present (unless autovacuum
119+
is disabled) is known as the <firstterm>autovacuum launcher</firstterm>,
120+
and the processes that carry out the tasks are known as the
121+
<firstterm>autovacuum workers</firstterm>.
118122
</para>
119123
<para>
120124
For more information, see
@@ -123,6 +127,34 @@
123127
</glossdef>
124128
</glossentry>
125129

130+
<glossentry id="glossary-auxiliary-proc">
131+
<glossterm>Auxiliary process</glossterm>
132+
<glossdef>
133+
<para>
134+
A process within an <glossterm linkend="glossary-instance">instance</glossterm>
135+
that is in charge of some specific background task for the instance.
136+
The auxiliary processes consist of <!-- in alphabetical order -->
137+
<!-- NB: In the code, the autovac launcher doesn't use the auxiliary
138+
process scaffolding; however it does behave as one so we list it
139+
here anyway. In addition, logger and stats collector aren't
140+
connected to shared memory so most code outside postmaster.c
141+
doesn't even consider them "procs" in the first place.
142+
-->
143+
the <glossterm linkend="glossary-autovacuum">autovacuum launcher</glossterm>
144+
(but not the autovacuum workers),
145+
the <glossterm linkend="glossary-background-writer">background writer</glossterm>,
146+
the <glossterm linkend="glossary-checkpointer">checkpointer</glossterm>,
147+
the <glossterm linkend="glossary-logger">logger</glossterm>,
148+
the <glossterm linkend="glossary-startup-process">startup process</glossterm>,
149+
the <glossterm linkend="glossary-stats-collector">statistics collector</glossterm>,
150+
the <glossterm linkend="glossary-wal-archiver">WAL archiver</glossterm>,
151+
the <glossterm linkend="glossary-wal-receiver">WAL receiver</glossterm>
152+
(but not the <glossterm linkend="glossary-wal-sender">WAL senders</glossterm>),
153+
and the <glossterm linkend="glossary-wal-writer">WAL writer</glossterm>.
154+
</para>
155+
</glossdef>
156+
</glossentry>
157+
126158
<glossentry id="glossary-backend">
127159
<glossterm>Backend (process)</glossterm>
128160
<glossdef>
@@ -163,7 +195,8 @@
163195
<glossterm>Background writer (process)</glossterm>
164196
<glossdef>
165197
<para>
166-
A process that writes dirty
198+
An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
199+
that writes dirty
167200
<glossterm linkend="glossary-data-page">data pages</glossterm> from
168201
<glossterm linkend="glossary-shared-memory">shared memory</glossterm> to
169202
the file system. It wakes up periodically, but works only for a short
@@ -285,7 +318,9 @@
285318
<glossterm>Checkpointer (process)</glossterm>
286319
<glossdef>
287320
<para>
288-
A specialized process responsible for executing checkpoints.
321+
An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
322+
that is responsible for executing
323+
<glossterm linkend="glossary-checkpoint">checkpoints</glossterm>.
289324
</para>
290325
</glossdef>
291326
</glossentry>
@@ -778,8 +813,9 @@
778813
<glossterm>Instance</glossterm>
779814
<glossdef>
780815
<para>
781-
A group of backend and auxiliary processes that communicate using
782-
a common shared memory area. One
816+
A group of <glossterm linkend="glossary-backend">backend</glossterm> and
817+
<glossterm linkend="glossary-auxiliary-proc">auxiliary processes</glossterm>
818+
that communicate using a common shared memory area. One
783819
<glossterm linkend="glossary-postmaster">postmaster process</glossterm>
784820
manages the instance; one instance manages exactly one
785821
<glossterm linkend="glossary-db-cluster">database cluster</glossterm>
@@ -881,8 +917,8 @@
881917
<glossterm>Logger (process)</glossterm>
882918
<glossdef>
883919
<para>
884-
If activated, the process
885-
writes information about database events into the current
920+
An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
921+
which, if enabled, writes information about database events into the current
886922
<glossterm linkend="glossary-log-file">log file</glossterm>.
887923
When reaching certain time- or
888924
volume-dependent criteria, a new log file is created.
@@ -1040,8 +1076,9 @@
10401076
<glossdef>
10411077
<para>
10421078
The very first process of an <glossterm linkend="glossary-instance">instance</glossterm>.
1043-
It starts and manages the other auxiliary processes and creates
1044-
<glossterm linkend="glossary-backend">backend processes</glossterm>
1079+
It starts and manages the
1080+
<glossterm linkend="glossary-auxiliary-proc">auxiliary processes</glossterm>
1081+
and creates <glossterm linkend="glossary-backend">backend processes</glossterm>
10451082
on demand.
10461083
</para>
10471084
<para>
@@ -1452,6 +1489,22 @@
14521489
</glossdef>
14531490
</glossentry>
14541491

1492+
<glossentry id="glossary-startup-process">
1493+
<glossterm>Startup process</glossterm>
1494+
<glossdef>
1495+
<para>
1496+
An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
1497+
that replays WAL during crash recovery and in a
1498+
<glossterm linkend="glossary-replication">physical replica</glossterm>.
1499+
</para>
1500+
<para>
1501+
(The name is historical: the startup process was named before
1502+
replication was implemented; the name refers to its task as it
1503+
relates to the server startup following a crash.)
1504+
</para>
1505+
</glossdef>
1506+
</glossentry>
1507+
14551508
<glossentry id="glossary-sql-object">
14561509
<glossterm>SQL object</glossterm>
14571510
<glossdef>
@@ -1514,8 +1567,10 @@
15141567
<glossterm>Stats collector (process)</glossterm>
15151568
<glossdef>
15161569
<para>
1517-
This process collects statistical information about the
1518-
<glossterm linkend="glossary-instance">instance</glossterm>'s activities.
1570+
An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
1571+
which, if enabled, receives statistical information
1572+
about the <glossterm linkend="glossary-instance">instance</glossterm>'s
1573+
activities.
15191574
</para>
15201575
<para>
15211576
For more information, see
@@ -1856,7 +1911,9 @@
18561911
<glossterm>WAL archiver (process)</glossterm>
18571912
<glossdef>
18581913
<para>
1859-
A process that saves copies of <glossterm linkend="glossary-wal-file">WAL files</glossterm>
1914+
An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
1915+
which, if enabled, saves copies of
1916+
<glossterm linkend="glossary-wal-file">WAL files</glossterm>
18601917
for the purpose of creating backups or keeping
18611918
<glossterm linkend="glossary-replica">replicas</glossterm> current.
18621919
</para>
@@ -1914,11 +1971,44 @@
19141971
</glossdef>
19151972
</glossentry>
19161973

1974+
<glossentry id="glossary-wal-receiver">
1975+
<glossterm>WAL receiver</glossterm>
1976+
<glossdef>
1977+
<para>
1978+
An <glossterm linkend="glossary-auxiliary-proc">auxiliary process</glossterm>
1979+
that runs on a <glossterm linkend="glossary-replica">replica</glossterm>
1980+
to receive WAL from the
1981+
<glossterm linkend="glossary-primary-server">primary server</glossterm>
1982+
for replay by the
1983+
<glossterm linkend="glossary-startup-process">startup process</glossterm>.
1984+
</para>
1985+
1986+
<para>
1987+
For more information, see
1988+
<xref linkend="warm-standby"/>.
1989+
</para>
1990+
</glossdef>
1991+
</glossentry>
1992+
19171993
<glossentry>
19181994
<glossterm>WAL segment</glossterm>
19191995
<glosssee otherterm="glossary-wal-file" />
19201996
</glossentry>
19211997

1998+
<glossentry id="glossary-wal-sender">
1999+
<glossterm>WAL sender (process)</glossterm>
2000+
<glossdef>
2001+
<para>
2002+
A special <glossterm linkend="glossary-backend">backend process</glossterm>
2003+
that streams WAL over a network. The receiving end can be a
2004+
<glossterm linkend="glossary-wal-receiver">WAL receiver</glossterm>
2005+
in a <glossterm linkend="glossary-replica">replica</glossterm>,
2006+
<xref linkend="app-pgreceivewal"/>, or any other client program
2007+
that speaks the replication protocol.
2008+
</para>
2009+
</glossdef>
2010+
</glossentry>
2011+
19222012
<glossentry id="glossary-wal-writer">
19232013
<glossterm>WAL writer (process)</glossterm>
19242014
<glossdef>

src/include/miscadmin.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,8 @@ extern ProcessingMode Mode;
422422
* Auxiliary-process type identifiers. These used to be in bootstrap.h
423423
* but it seems saner to have them here, with the ProcessingMode stuff.
424424
* The MyAuxProcType global is defined and set in auxprocess.c.
425+
*
426+
* Make sure to list in the glossary any items you add here.
425427
*/
426428

427429
typedef enum

0 commit comments

Comments
 (0)