Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wi82M-0001kl-1H for pgsql-docs@arkaria.postgresql.org; Fri, 10 Jul 2026 10:00:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wi82J-00HF5k-1B for pgsql-docs@arkaria.postgresql.org; Fri, 10 Jul 2026 10:00:48 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wi82J-00HF5b-01 for pgsql-docs@lists.postgresql.org; Fri, 10 Jul 2026 10:00:47 +0000 Received: from smtp.outgoing.loopia.se ([93.188.3.37]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wi82G-00000000dK2-2s53 for pgsql-docs@lists.postgresql.org; Fri, 10 Jul 2026 10:00:47 +0000 Received: from s807.loopia.se (localhost [127.0.0.1]) by s807.loopia.se (Postfix) with ESMTP id 5E55A63529C for ; Fri, 10 Jul 2026 12:00:44 +0200 (CEST) Received: from s899.loopia.se (unknown [172.22.191.6]) by s807.loopia.se (Postfix) with ESMTP id 4F063633EEC; Fri, 10 Jul 2026 12:00:44 +0200 (CEST) Received: from localhost (unknown [172.22.191.5]) by s899.loopia.se (Postfix) with ESMTP id 4DBFD2C8BA59; Fri, 10 Jul 2026 12:00:44 +0200 (CEST) X-Virus-Scanned: amavis at amavis.loopia.se X-Spam-Flag: NO X-Spam-Score: -1.2 X-Spam-Level: X-Spam-Status: No, score=-1.2 tagged_above=-999 required=6.2 tests=[ALL_TRUSTED=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1] autolearn=disabled Authentication-Results: s473.loopia.se (amavis); dkim=pass (2048-bit key) header.d=yesql.se Received: from s981.loopia.se ([172.22.191.5]) by localhost (s473.loopia.se [172.22.190.13]) (amavis, port 10024) with UTF8LMTP id O3W88jYUfPoy; Fri, 10 Jul 2026 12:00:43 +0200 (CEST) X-Loopia-Auth: user X-Loopia-User: daniel@yesql.se X-Loopia-Originating-IP: 89.255.232.236 Received: from smtpclient.apple (customer-89-255-232-236.stosn.net [89.255.232.236]) (Authenticated sender: daniel@yesql.se) by s981.loopia.se (Postfix) with ESMTPSA id C02DA22B176A; Fri, 10 Jul 2026 12:00:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yesql.se; s=loopiadkim1707475645; t=1783677643; bh=wL04TWHdA+EEcjeLsPH9f2xmUkrHEkes6wjzj5Dk3AM=; h=From:Subject:Date:In-Reply-To:Cc:To:References; b=lrwr2TIENUuzy3uZ14LoWfhOPc+7LGDwyvIGD+Bs+zqm0XsW3e1xTIisLVsuMfbKx C6niLk6z8rSwYQCN5difJobHJJ/TxwNvAK03XJKYKPvcbBh3QG8E0IkfQMDerWNcji XVHg7qrNeaRoW3QRhui5uUiXEtiX+/7I6XcockZgUJ4spTmmKsBFbbAQir8Zpn0ZKi BeybnSQfMqk2rtfwq3nYR2MPwWB14Hha/hCnFQRaL8SVoYZRLgflcZJMIm8sbjM7SB lkDg+Ij1zdOH/oU8VPDiI1QRHhZDcQSs9cUa+PeclP87lFXRzkGKc213dRt2M8ASXu gf5nW5gNPZpsw== From: Daniel Gustafsson Message-Id: Content-Type: multipart/mixed; boundary="Apple-Mail=_D71CB3AD-5BAE-4741-AFCE-8001BABE111C" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51.11.12\)) Subject: Re: Fix data checksum progress reporting docs Date: Fri, 10 Jul 2026 12:00:33 +0200 In-Reply-To: Cc: "pgsql-docs@lists.postgresql.org" To: Fujii Masao References: <8D4EF043-0DA9-4DF1-A28C-E3598167D1D2@yesql.se> X-Mailer: Apple Mail (2.3776.700.51.11.12) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --Apple-Mail=_D71CB3AD-5BAE-4741-AFCE-8001BABE111C Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On 10 Jul 2026, at 03:13, Fujii Masao wrote: >=20 > On Thu, Jul 9, 2026 at 5:28=E2=80=AFPM Daniel Gustafsson = wrote: >> You are absolutely right. And when looking at it I think we can = simplify the >> entry a bit as well to make it fit the style of the page better. = What do you >> think about the attached? >=20 > Thanks for the patch! I like the overall approach. > I just have a few minor comments. >=20 > + A set of > + background > worker > + processes which can enable, or disable, data checksums in a >=20 > Wouldn't it be better to remove the two commas here? Fixed. > + running cluster. The process which coordinates the work is = known as the > + data checksums worker launcher and the = process >=20 > Only the glossary seems to use the term "data checksums worker = launcher". > Wouldn't "data checksums launcher" (i.e., dropping "worker") be a = better name? Fixed. > + data checksums worker launcher and the = process > + which operate on the individual databases is known as the > + data checksums worker. >=20 > Shouldn't "the process which operate" be either "the process which = operates" > or "the processes which operate"? Since multiple data checksums = workers > can run, the latter seems more appropriate. Currently the processing is limited to a single worker, so I think the = proposed wording is more appropriate. Expanding the code to handle multiple = parallel workers was left as a future enhancement (it will perhaps require better = IO throttling etc). > While looking at the related code, I also found that > B_DATACHECKSUMSWORKER_LAUNCHER and B_DATACHECKSUMSWORKER_WORKER > were added as BackendType entries in miscadmin.h. Since those entries = appear > under the comment for auxiliary processes, it could give the = impression that > the data checksums launcher and workers are auxiliary processes. To = avoid > that confusion, would it make sense to add a comment such as: >=20 > ------------------------- > B_WAL_WRITER, >=20 > + /* > + * XXXXXXXXXX > + */ > B_DATACHECKSUMSWORKER_LAUNCHER, > B_DATACHECKSUMSWORKER_WORKER, > ------------------------- Fair point, see attached. > BTW, I'm also wondering why dedicated BackendType entries were added = for > the data checksums processes, while other background workers don't = have > their own BackendType values. They are need for the pgstat system though aren't they, or am I missing something? -- Daniel Gustafsson --Apple-Mail=_D71CB3AD-5BAE-4741-AFCE-8001BABE111C Content-Disposition: attachment; filename=v2-0002-Add-a-comment-to-distinguish-backend-types.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="v2-0002-Add-a-comment-to-distinguish-backend-types.patch" Content-Transfer-Encoding: quoted-printable =46rom=204c0ba4fd236548abfecdf0d6d242b3a57b2754f7=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Daniel=20Gustafsson=20= =0ADate:=20Fri,=2010=20Jul=202026=2011:37:06=20= +0200=0ASubject:=20[PATCH=20v2=202/2]=20Add=20a=20comment=20to=20= distinguish=20backend=20types=0A=0AThe=20data=20checksums=20entries=20= were=20seemingly=20auxiliary=20processes=20from=0Areading=20the=20code,=20= but=20they=20are=20in=20fact=20background=20workers.=20=20Add=20a=0A= comment=20to=20clarify.=0A=0AReported-by:=20Fujii=20Masao=20= =0ADiscussion:=20= https://postgr.es/m/CAHGQGwFsBjQs2fv7b72hxzGV_fJMh6LAg4E83pNfDOu1jVgWCA@ma= il.gmail.com=0A---=0A=20src/include/miscadmin.h=20|=201=20+=0A=201=20= file=20changed,=201=20insertion(+)=0A=0Adiff=20--git=20= a/src/include/miscadmin.h=20b/src/include/miscadmin.h=0Aindex=20= 7170a4bff98..16da60721bf=20100644=0A---=20a/src/include/miscadmin.h=0A= +++=20b/src/include/miscadmin.h=0A@@=20-370,6=20+370,7=20@@=20typedef=20= enum=20BackendType=0A=20=09B_WAL_SUMMARIZER,=0A=20=09B_WAL_WRITER,=0A=20=0A= +=09/*=20Background=20worker=20processes=20*/=0A=20=09= B_DATACHECKSUMSWORKER_LAUNCHER,=0A=20=09B_DATACHECKSUMSWORKER_WORKER,=0A=20= =0A--=20=0A2.39.3=20(Apple=20Git-146)=0A=0A= --Apple-Mail=_D71CB3AD-5BAE-4741-AFCE-8001BABE111C Content-Disposition: attachment; filename=v2-0001-doc-Fix-glossary-entry-for-data-checksums-workers.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="v2-0001-doc-Fix-glossary-entry-for-data-checksums-workers.patch" Content-Transfer-Encoding: quoted-printable =46rom=20efaefdf09522fe2dfaf63347cd96a8ba341f340c=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Daniel=20Gustafsson=20= =0ADate:=20Thu,=209=20Jul=202026=2010:23:22=20= +0200=0ASubject:=20[PATCH=20v2=201/2]=20doc:=20Fix=20glossary=20entry=20= for=20data=20checksums=20workers=0A=0AThe=20glossary=20entry=20for=20= data=20checksums=20workers=20incorrectly=20stated=20that=0Athey=20were=20= auxiliary=20processes,=20but=20they=20are=20implementerd=20as=20= background=0Aworkers.=20=20Fix,=20and=20while=20there,=20simplify=20the=20= entry=20by=20combining=20the=0Aworker=20and=20launcher=20into=20a=20= single=20glossary=20term.=0A=0AReported-by:=20Fujii=20Masao=20= =0ADiscussion:=20= https://postgr.es/m/CAHGQGwEv-C9ia+rBYyePzO8F=3D5FVvS412ZqcOupazuOb5RafNg@= mail.gmail.com=0A---=0A=20doc/src/sgml/glossary.sgml=20|=2032=20= ++++++++++++--------------------=0A=201=20file=20changed,=2012=20= insertions(+),=2020=20deletions(-)=0A=0Adiff=20--git=20= a/doc/src/sgml/glossary.sgml=20b/doc/src/sgml/glossary.sgml=0Aindex=20= f7f69afc922..9052f8bbf41=20100644=0A---=20a/doc/src/sgml/glossary.sgml=0A= +++=20b/doc/src/sgml/glossary.sgml=0A@@=20-199,8=20+199,6=20@@=0A=20=20=20= =20=20=20(but=20not=20the=20autovacuum=20workers),=0A=20=20=20=20=20=20= the=20background=20= writer,=0A=20=20=20=20=20=20the=20checkpointer,=0A-=20=20=20=20= =20the=20data=20= checksums=20worker,=0A-=20=20=20=20=20the=20data=20checksums=20= worker=20launcher,=0A=20=20=20=20=20=20the=20logger,=0A=20=20=20=20=20=20the=20= startup=20= process,=0A=20=20=20=20=20=20the=20WAL=20archiver,=0A@@=20= -236,8=20+234,9=20@@=0A=20=20=20=20=20=20which=20runs=20system-=20or=20= user-supplied=20code.=0A=20=20=20=20=20=20Serves=20as=20infrastructure=20= for=20several=20features=20in=0A=20=20=20=20=20=20= PostgreSQL,=20such=20as=0A-=20=20=20=20=20= logical=20= replication=0A-=20=20=20=20=20and=20parallel=20queries.=0A+=20= =20=20=20=20logical=20= replication,=0A+=20=20=20=20=20parallel=20queries=20and=0A= +=20=20=20=20=20data=20checksums=20= processing.=0A=20=20=20=20=20=20In=20addition,=20Extensions=20can=20add=0A=20=20= =20=20=20=20custom=20background=20worker=20processes.=0A=20=20=20=20= =0A@@=20-588,24=20+587,17=20@@=0A=20=20=20=20=0A=20=20=20=0A=20= =0A-=20=20=0A-=20=20=20= Data=20Checksums=20Worker=0A+=20=20=0A+=20=20=20Data=20= Checksums=20(process)=0A=20=20=20=20=0A=20=20=20=20= =20=0A-=20=20=20=20=20A=20background=20worker=0A= -=20=20=20=20=20which=20enables=20data=20checksums=20in=20a=20specific=20= database.=0A-=20=20=20=20=0A-=20=20=20=0A-=20=20= =0A-=0A-=20=20=0A-=20=20=20= Data=20Checksums=20Worker=20Launcher=0A-=20=20=20= =0A-=20=20=20=20=0A-=20=20=20=20=20A=20background=20worker=0A= -=20=20=20=20=20which=20starts=20=20data=0A-=20=20=20=20=20= checksum=20worker=20processes=20for=20enabling=20data=20= checksums=20in=20each=0A-=20=20=20=20=20database,=20or=20disables=20data=20= checksums=20cluster-wide.=0A+=20=20=20=20=20A=20set=20of=0A+=20=20=20=20=20= background=20= worker=0A+=20=20=20=20=20processes=20which=20can=20enable=20= or=20disable=20data=20checksums=20in=20a=20running=20cluster.=0A+=20=20=20= =20=20The=20process=20which=20coordinates=20the=20work=20is=20known=20as=20= the=0A+=20=20=20=20=20data=20checksums=20launcher=20= and=20the=20process=20which=0A+=20=20=20=20=20operate=20on=20the=20= individual=20databases=20is=20known=20as=20the=0A+=20=20=20=20=20= data=20checksums=20worker.=0A=20=20=20=20=20= =0A=20=20=20=20=0A=20=20=20=0A--=20=0A= 2.39.3=20(Apple=20Git-146)=0A=0A= --Apple-Mail=_D71CB3AD-5BAE-4741-AFCE-8001BABE111C--