On Wed, 2026-07-22 at 01:48 +0900, Fujii Masao 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. > > Isn't it better to add the other missing process names as well, such as > slotsync worker, data checksums launcher, data checksums worker, and > REPACK decoding worker? > > Also, the current list says "logical replication worker", but that isn't > an actual process name. It refers to four different worker types: > logical replication apply worker, logical replication parallel worker, > logical replication sequence synchronization worker, and logical replication > table synchronization worker. Isn't it better to list those actual > process names instead?
You are right. Here is patch v3 with a completed list; I hope I didn't forget anything. Yours, Laurenz Albe
From 453957c7e2d39134b3a43c878f27f1748dde7c9f Mon Sep 17 00:00:00 2001 From: Laurenz Albe <[email protected]> Date: Tue, 21 Jul 2026 21:02:59 +0200 Subject: [PATCH v3] Properly document pg_stat_activity.backend_type The documentation of pg_stat_activity should list all possible values for the backend type, but the list was inaccurate and incomplete. Since the complete list is pretty long, turn it into an alphabetically sorted itemized list and add a description for each type. Author: Laurenz Albe <[email protected]> Reviewed-By: Michael Paquier <[email protected]> Reviewed-By: Fujii Masao <[email protected]> Discussion: https://postgr.es/m/[email protected] --- doc/src/sgml/monitoring.sgml | 165 ++++++++++++++++++++++++++++++++--- 1 file changed, 155 insertions(+), 10 deletions(-) diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index d1a20d001e9..12ecba6e275 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -1057,16 +1057,161 @@ 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>datachecksums launcher</literal>: The background process + that launches data checksum workers. + </para> + </listitem> + <listitem> + <para> + <literal>datachecksums worker</literal>: A background process that + calculates data checksums for all pages in one database. + </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 apply worker</literal>: A background + process that applies data modifications on a logical subscriber. + </para> + </listitem> + <listitem> + <para> + <literal>logical replication parallel worker</literal>: A background + process that applies data modifications on a logical subscriber + for a subscription with <literal>streaming = parallel</literal>. + </para> + </listitem> + <listitem> + <para> + <literal>logical replication sequencesync worker</literal>: A + background process that replicates sequence data on a logical + subscriber. + </para> + </listitem> + <listitem> + <para> + <literal>logical replication tablesync worker</literal>: A + background process that copies table data on a logical subscriber + for a subscription with <literal>copy_data = true</literal>. + </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>REPACK decoding worker</literal>: A background process that + decodes WAL for <command>REPACK (CONCURRENTLY)</command>. + </para> + </listitem> + <listitem> + <para> + <literal>slotsync worker</literal>: The background process that + synchronizes logical replication slots on a streaming replication + standby server, active when <xref linkend="guc-sync-replication-slots"/> + is set to <literal>on</literal>. + </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
