On Tue, 2026-07-21 at 17:02 +0900, Michael Paquier wrote: > On Tue, Jul 21, 2026 at 09:58:34AM +0200, Laurenz Albe wrote: > > I happened to notice that "io worker" was missing in the list of > > backend types in the pg_stat_activity documentation. > > Right. > > > I wondered vaguely if the list should be sorted alphabetically, > > but didn't do it a) to keep the patch easy to read and > > b) because the list is not long enough for readers to get lost. > > And here I just thought while looking at this section of the docs that > the list is super long, and that we could reshape it the same way as > "state" for the possible values, sorting it on the way.
Ok, here is a patch with the list sorted alphabetically and converted into an itemiized list. Yours, Laurenz Albe
From 7f53f7b1bb55e93586e4b7a1ffe25ace055d29cc Mon Sep 17 00:00:00 2001 From: Laurenz Albe <[email protected]> Date: Tue, 21 Jul 2026 11:58:07 +0200 Subject: [PATCH v2] Document "io worker" as possible backend_type The documentation of pg_stat_activity lists all possible values for the backend type, but when I/O workers were added, the list was not amended. Since the list is growing long, sort it alphabetically and convert it to an itemized list. Author: Laurenz Albe <[email protected]> Reviewed-By: Michael Paquier <[email protected]> Discussion: https://postgr.es/m/[email protected] --- doc/src/sgml/monitoring.sgml | 118 ++++++++++++++++++++++++++++++++--- 1 file changed, 108 insertions(+), 10 deletions(-) diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index d1a20d001e9..f0e15d435fb 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -1057,16 +1057,114 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser <structfield>backend_type</structfield> <type>text</type> </para> <para> - Type of current backend. Possible types are - <literal>autovacuum launcher</literal>, <literal>autovacuum worker</literal>, - <literal>logical replication launcher</literal>, - <literal>logical replication worker</literal>, - <literal>parallel worker</literal>, <literal>background writer</literal>, - <literal>client backend</literal>, <literal>checkpointer</literal>, - <literal>archiver</literal>, <literal>standalone backend</literal>, - <literal>startup</literal>, <literal>walreceiver</literal>, - <literal>walsender</literal>, <literal>walwriter</literal> and - <literal>walsummarizer</literal>. + Type of current backend. Possible types are: + <itemizedlist> + <listitem> + <para> + <literal>archiver</literal>: The WAL archiver, active when + <xref linkend="guc-archive-mode"/> is <literal>on</literal>. + </para> + </listitem> + <listitem> + <para> + <literal>autovacuum launcher</literal>: The background process that + launches autovacuum workers, active when + <xref linkend="guc-autovacuum"/> is <literal>on</literal>. + </para> + </listitem> + <listitem> + <para> + <literal>autovacuum worker</literal>: A background process running + <command>VACUUM</command> or <command>ANALYZE</command> on a single + table. + </para> + </listitem> + <listitem> + <para> + <literal>background writer</literal>: The background process that + makes sure that there are enough clean buffers in shared buffers. + </para> + </listitem> + <listitem> + <para> + <literal>checkpointer</literal>: The background process that + performs <link linkend="wal-configuration">checkpoints</link> + regularly. + </para> + </listitem> + <listitem> + <para> + <literal>client backend</literal>: The server process performing + work for a regular database connection. + </para> + </listitem> + <listitem> + <para> + <literal>io worker</literal>: A background process performing + asynchronous I/O, active when <xref linkend="guc-io-method"/> is set + to <literal>worker</literal>. + </para> + </listitem> + <listitem> + <para> + <literal>logical replication launcher</literal>: The background + process that launches logical replication worker processes for + subscriptions. + </para> + </listitem> + <listitem> + <para> + <literal>logical replication worker</literal>: A background process + that applies data modifications replicated with logical replication. + </para> + </listitem> + <listitem> + <para> + <literal>parallel worker</literal>: A background process that helps + a backend process to perform operations in parallel. + </para> + </listitem> + <listitem> + <para> + <literal>standalone backend</literal>: The backend process when + <productname>PostgreSQL</productname> was started in + <xref linkend="app-postgres-single-user"/>. + </para> + </listitem> + <listitem> + <para> + <literal>startup</literal>: The background process that replays WAL + during crash recovery, archive recovery or streaming replication. + </para> + </listitem> + <listitem> + <para> + <literal>walreceiver</literal>: The background process that receives + WAL records from a WAL sender, active in streaming replication + standby mode. + </para> + </listitem> + <listitem> + <para> + <literal>walsender</literal>: A background process that sends WAL + records to receivers (during streaming replication) or decodes WAL + and sends the decoded information (during logical replication). + </para> + </listitem> + <listitem> + <para> + <literal>walsummarizer</literal>: The background process that + creates summaries from WAL for use with incremental backup, active + when <xref linkend="guc-summarize-wal"/> is <literal>on</literal>. + </para> + </listitem> + <listitem> + <para> + <literal>walwriter</literal>: The background process that persists + WAL records from WAL buffers to disk. + </para> + </listitem> + </itemizedlist> In addition, background workers registered by extensions may have additional types. </para></entry> -- 2.55.0
