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 1vdtvu-006Q0K-0W for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Jan 2026 17:36:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vdtvr-003aAx-0m for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Jan 2026 17:36:24 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdtvq-003aAo-2T for pgsql-hackers@lists.postgresql.org; Thu, 08 Jan 2026 17:36:23 +0000 Received: from mout.gmx.net ([212.227.17.21]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdtvp-004vl9-0B for pgsql-hackers@lists.postgresql.org; Thu, 08 Jan 2026 17:36:22 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1767893774; x=1768498574; i=mbanck@gmx.net; bh=X46TqD2DPgXBOmOEp58Q8jTwh+5yIQs1RY1HmwGwvRA=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:Message-ID:References: MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To: cc:content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=U3HlWrl4lHKX8x8C25GnDryNZR3D0U8Mdq0XLrVFUlqmwL6UehUbMLtFY1vIjIHZ aLuKOUuHSmNO6xMs2v8PY/dXSMqYwV1Eyb88X2/m4uLBgJe2CQ2SNvRi8DG8OH2E/ 3Lpql9nHOFiaMaf2X3rJ2DX2oFiXGgcAUQQ+i8NcCi4p3sg5HWt5DS+DgMDPTWalJ ipgFkcMn8Suimxa4L11mvIrBt6JBul4YvkEu/RMVTTDvU2vroyv1U/XdvM1WTFwqg te09KpcO3u5sGndELxprXRRh3MJmqU+NuGKk7zLmz/7Q40IEIx10nWO0hQwFEwybu QTMwQj6oH0mNHOD53Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from lightning.p46.dedyn.io ([88.217.119.76]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MYvcG-1vQcHe2Eoi-00SLMo; Thu, 08 Jan 2026 18:36:14 +0100 Received: from mbanck by lightning.p46.dedyn.io with local (Exim 4.92) (envelope-from ) id 1vdtvh-0004nf-I5; Thu, 08 Jan 2026 18:36:13 +0100 Date: Thu, 8 Jan 2026 18:36:13 +0100 From: Michael Banck To: Soumya S Murali Cc: Fujii Masao , VASUKI M , Andres Freund , PostgreSQL Hackers , =?utf-8?Q?=C3=81lvaro?= Herrera , melanieplageman@gmail.com, juanjo.santamaria@gmail.com Subject: Re: [PATCH] Expose checkpoint reason to completion log messages. Message-ID: <20260108173613.GE30363@p46.dedyn.io;lightning.p46.dedyn.io> References: <695cea55.050a0220.253a0.ed88SMTPIN_ADDED_BROKEN@mx.google.com> <695e1440.170a0220.1f9596.3d45SMTPIN_ADDED_BROKEN@mx.google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-Provags-ID: V03:K1:MxdaJJ/Mg6FkzM3aA3aNQfY6KJZG3LZ0jxUpjgqegZt8drDmRWf 3Qhl4tDrsZGez8sI6YM1DjFETcXK0MtAWe8/xiPHOQvf8XRmeS69tCgcBC5MBLIuId9dfe0 p/PKjQfxEVctGfKPv4PDBU7PuiV+sCGihAia+03JfJe9779CEU67q57Ql+buKL/S3Fp0Kda 7dx1EUHUIyVzp6Qfc1DoA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:QaqhbRVplUE=;f28B8HZ4ZpBC9GE/XW18CafvQEd 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 XMyiMCrdKJERCxgIcW3boY4iYzrYg List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, On Thu, Jan 08, 2026 at 11:58:43AM +0530, Soumya S Murali wrote: > On Wed, Jan 7, 2026 at 1:37=E2=80=AFPM Michael Banck wr= ote: > > On Wed, Jan 07, 2026 at 12:35:08PM +0530, Soumya S Murali wrote: > I have reworked the patch to factor out the checkpoint reason logic to > use the same wording for both checkpoint start and completion log > (including wal, time, fast, force, and wait). The format has been > aligned with existing conventions and has been verified by running > make check and recovery TAP tests including t/019_replslot_limit.pl > successfully. > Kindly review my patch and let me know the feedback. Thanks for the new patch. > index 22d0a2e8c3..9f7439f9a2 100644 > --- a/src/backend/access/transam/xlog.c > +++ b/src/backend/access/transam/xlog.c [...] > +static const char * > +CheckpointReasonString(int flags) > +{ > + static char buf[128]; > + > + buf[0] =3D '\0'; > + > + if (flags & CHECKPOINT_IS_SHUTDOWN) > + strcat(buf, " shutdown"); > + if (flags & CHECKPOINT_END_OF_RECOVERY) > + strcat(buf, " end-of-recovery"); > + if (flags & CHECKPOINT_FAST) > + strcat(buf, " fast"); > + if (flags & CHECKPOINT_FORCE) > + strcat(buf, " force"); > + if (flags & CHECKPOINT_WAIT) > + strcat(buf, " wait"); > + if (flags & CHECKPOINT_CAUSE_XLOG) > + strcat(buf, " wal"); > + if (flags & CHECKPOINT_CAUSE_TIME) > + strcat(buf, " time"); > + if (flags & CHECKPOINT_FLUSH_UNLOGGED) > + strcat(buf, " flush-unlogged"); > + > + return buf; > +} The way this is coded now prepends the final string with a space character. This is fine for the checkpoint starting message, but makes the checkpoint finished message look slightly weird (not the "( wal)"): |2026-01-08 18:30:33.691 CET [1666416] LOG: checkpoint complete ( wal): |wrote 20 buffers (0.1%), wrote 0 SLRU buffers; 0 WAL file(s) added, 4 |removed, 33 recycled; write=3D2.221 s, sync=3D0.019 s, total=3D2.701 s; s= ync |files=3D3, longest=3D0.018 s, average=3D0.007 s; distance=3D601885 kB, |estimate=3D601885 kB; lsn=3D0/D2D59FC8, redo lsn=3D0/B492B500 Also I think the translators might now complain, but I am not sure how to best approach this. Michael