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 1wAKWf-002HFH-2E for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Apr 2026 04:28:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wAKWc-004h7T-1L for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Apr 2026 04:28:22 +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 1wAKWb-004h7K-2u for pgsql-hackers@lists.postgresql.org; Wed, 08 Apr 2026 04:28:22 +0000 Received: from mail-yx1-xb136.google.com ([2607:f8b0:4864:20::b136]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wAKWa-000000019uF-0cQj for pgsql-hackers@lists.postgresql.org; Wed, 08 Apr 2026 04:28:21 +0000 Received: by mail-yx1-xb136.google.com with SMTP id 956f58d0204a3-6501c9903edso5805861d50.1 for ; Tue, 07 Apr 2026 21:28:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775622499; cv=none; d=google.com; s=arc-20240605; b=F5Xjiz4C6ahYJPzUmva9xsyEuwRHL0zI7NVxUDL7BbAJ4AiLOqvooWvcWv8/1Mv0Nh p0+Z6V9mU3ardrEgWhxybggjHjqm3aWjnlfC+aa+XzyChsv2dJ4kkkKUM/BNuUHroHDx B/jYk9iePdullL0A7PeP0cwzvduTlv6MzmpASHQCIOJTw1roUZB1UQPosys/+aEQQFS2 FSntOBs85BqFKrjx1ATgFb8AtplgL+pLvsYP5PmKac3HgRRVCZW9qxm/lRI4LZiyjyRK psMu069zimI7FHd+RNVIvNW6ppOOm1I/1sUkeASQPudlpLBWYRGCjvyDyQBA27FnH4rG Jyww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:dkim-signature; bh=0wTLY2rBnmEp8vq04hy4lthmzASRBsRkDjF9zhyKDDc=; fh=3xGrHcmheDTPnpJBP4ihIr/Bw61hLcGoe5z+W2beVPw=; b=Q5rRVZ3w/g4lgHZ/RB/wkRsnY9v2OpYDCldC0kAQ5294PsMjeAzcRqHyPdi1TQTv0R bPnzkIVuUHgZY/1NY6GNyq2aevS2twMIgqv/SEljjY1tRuGU1R6D9s0CNL0kZnefTUjH qguR6rqbcTWSPq3Dij+IiX4WIUeeuL1oZ0bNNcpKAFztwZhO6VM9e3cnCsiX9WDaQFHm KG6Gmd+sEuXkNJNRaoeHaScSl/R4B3af390tRdJtOBdPSng098qL6w4CJChgwTDwNpb7 iadbEcLzFfQkRidDhdMnMYk7E9V6YWpvRTMvWH92eG3I6zr8fHUwR59rwLYV7Ljoq73R pxBw==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775622499; x=1776227299; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=0wTLY2rBnmEp8vq04hy4lthmzASRBsRkDjF9zhyKDDc=; b=IPmNLLraDu0ComEhiDk7SRdCVGpS8Osqw9vGSD/LJywkq/+1jYeXLid0USGbUBjwjB VG4Z801f37C2hFfFZXm7C6U3qm42We6fdIVc4nTR94/yH+yCcmxjBWCQo1L/A4zpeNRk zdCMty26otcrjVG9HfmTYnUMTccBvnXn44cEKLezYIS1BvvvdP9KXQQWrFAZ4NdV6oqF fsUR7z3AzkJq2QBkGXSObhTTlStHRVTu2fgKMHPs2nF6MQmiCUrttxSs1I+i40McRgVU PkHRdz+K3LaTbkKTzNnpqpfYM1LsUfkj8c0b/ThixjfgSxWtkywxeCRPmwDjJV+ib+6L uGUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775622499; x=1776227299; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=0wTLY2rBnmEp8vq04hy4lthmzASRBsRkDjF9zhyKDDc=; b=OnQ6Y7fHjQflTSO26bWudgXiktcVm6F9ZoBUDiKW3LWxn6keB9OE3xDsCuWSbqMH9d gFE24DznsX5Ht2p43S9IZfH54EFCuAexDrjw0BW5xtcu4hQxfPrelb8WxsiblGzEARsr hwG4JaGaj6DoQ8Phe1xc6HhhGrSw50yls9aFARcVDelw4gvln5MaFbWmO+Ilu6ShZ1/Q DipOLdjDweCc1uBsK4fjbvb17Ha0gsqEFjdVbi6dHduDLFf7Ew0FLsAH26xXcxoKUO4v YrsiEfBFqOhxGPmSsILc6FawNK/jdZ/nWDoo3TW14nQETMksRJrf29CRI+6izmiqvIdx o1bA== X-Forwarded-Encrypted: i=1; AJvYcCVUrUX+KXVFyHQS3d2nlMKF4GAqWjsPrBNrU0Dvfw8hZETt1A0hXTFWQ7rtXH7vANB/4EO/GhtDuq/gXm5Y@lists.postgresql.org X-Gm-Message-State: AOJu0YzrjcYZ2EenFpnxMqAwxwg6oiP4R0/XE4aQRccWxd6EO1jktW4I gJNc97dQN9GD42cAPsK2XFQY4O29gvU1UQfFRtXZ5IXdhs32AX/XsikCTWdio2S8uxhdAOty1up yJ9FO0+u+vEKwv+QuaxIL3USMr+z2FnulSAPj X-Gm-Gg: AeBDietAwUANkSEIA8alexX8pPwH1egyd4WK6An4vKqXxbFvjU90CgL6RLY0941jufP hNdWmF86/+kObB7/BlO8rwUtBG5XT7gaWzEwaKHyFQgWDIH5lKPgLf3Buz3R1zZdJ5j5QQoahvF zGRup3RRnVW6FhO+qyNdDRuYdUiNo9ZguSdnXjAxJsRrB+ES1Ew12qV49BOPGrWirjLRYKclU4a 3WZSPzTJTIeZxhiGJUSHpV2R5pKTe3/pmhHFL7Zm/LLpPpYJKQSRhvCJC/moXOTC3uOAO2vyGYX 0PE8VwMz X-Received: by 2002:a53:ec42:0:b0:650:1c6b:bf74 with SMTP id 956f58d0204a3-6504887c94amr13756421d50.61.1775622499387; Tue, 07 Apr 2026 21:28:19 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a05:7011:a11c:10b0:50c:3759:eccf with HTTP; Tue, 7 Apr 2026 21:28:18 -0700 (PDT) In-Reply-To: References: <78ff5cc9-268f-4be8-ae0b-c1a07dc24852@proxel.se> From: "David G. Johnston" Date: Tue, 7 Apr 2026 21:28:18 -0700 X-Gm-Features: AQROBzD7WyUfzDIW3f0lXCNF8NHsFWLvHXGTTyzx6RTiNVGkNd_Gwz6c9uDZSFY Message-ID: Subject: Re: doc: Improve wal_level and effective_wal_level GUC around logical replication To: shveta malik Cc: Andreas Karlsson , PostgreSQL Hackers Content-Type: multipart/alternative; boundary="00000000000054cd83064eeb548d" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000054cd83064eeb548d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thank you, and the others, for the reviews. On Tuesday, April 7, 2026, shveta malik wrote: > Few comments: > > 1) > + Running read-only queries on a standby server. > > Looks incomplete and disconnected from previous sentence. Yeah, I missed that one. > > 2) > + level used by the system. Namely, whether replica has been > promoted to > + logical (minimal never promotes). > > We shall replace replica, logical, minimal with below > replica > logical > minimal Yeah, I need to do a markup pass too apparently. Though I do question whether we are being too rote about these. In this sentence yes I use the actual labels but it=E2=80=99s more about concept than talking about someth= ing you=E2=80=99d literally type somewhere. One doesn=E2=80=99t promote a lite= ral, they promote the operating mode of the server which is then reflected by the change of a value. > > Also shall we add 'wal_level'? Otherwise, 'replica' on its own could > be understood as a replica server: > > Namely, whether wal_level replica has been promoted to .... > The preceding sentence to which =E2=80=9Cnamely=E2=80=9D links talks about = the levels. But I=E2=80=99ll give it a second look. From my reply above, writing =E2=80=9C= WAL level has been promoted to logical from replica=E2=80=9D, is probably a better struct= ure. > 3) > + The parameter > reports the actual > + level used by the system. Namely, whether replica has been > promoted to > + logical (minimal never promotes). > + This parameter can only be set at server start. > > "This" here is misleading. Does this refer to wal_level or > effective_wal_level? When talking about where/when a setting can specified, =E2=80=9Cthis=E2=80= =9D always refers to the setting being documented. I=E2=80=99m doubtful of the need to rewor= d things so that some other setting being talked about doesn=E2=80=99t get confused instead. The fact that we say effective WAL level is basically a runtime derived setting in the prior sentence reinforces this belief. And we try to keep this sentence consistently at the end of the description. Maybe it needs its own paragraph though? I=E2=80=99ll consider that. > > 4) > Below that is minimal, > > Shall we change "that" to replica to avoid any > confusion? I=E2=80=99m on the fence at the moment. This entire section needs a relook= anyway and I=E2=80=99ll keep all these in mind. David J. --00000000000054cd83064eeb548d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thank you, and the others, for the reviews.

On Tue= sday, April 7, 2026, shveta malik <shveta.malik@gmail.com> wrote:

2)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 level used by the system.=C2=A0 Namely, whethe= r replica has been promoted to
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 logical (minimal never promotes).

We shall replace replica, logical, minimal with below
<literal>replica</literal>
<literal>logical</literal>
<literal>minimal</literal>

Yeah= , I need to do a markup pass too apparently.=C2=A0 Though I do question whe= ther we are being too rote about these.=C2=A0 In this sentence yes I use th= e actual labels but it=E2=80=99s more about concept than talking about some= thing you=E2=80=99d literally type somewhere.=C2=A0 One doesn=E2=80=99t pro= mote a literal, they promote the operating mode of the server which is then= reflected by the change of a value.
=C2=A0

Also shall we add 'wal_level'? Otherwise, 'replica' on its = own could
be understood as a replica server:

Namely, whether wal_level replica has been promoted to ....

=C2=A0
The prec= eding sentence to which =E2=80=9Cnamely=E2=80=9D links talks about the leve= ls.=C2=A0 But I=E2=80=99ll give it a second look.=C2=A0 From my reply above= , writing =E2=80=9CWAL level has been promoted to logical from replica=E2= =80=9D, is probably a better structure.
=C2=A0
3)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 The <xref linkend=3D"guc-effective-wal= -level"/> parameter
reports the actual
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 level used by the system.=C2=A0 Namely, whethe= r replica has been promoted to
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 logical (minimal never promotes).
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 This parameter can only be set at server start= .

"This" here is misleading. Does this refer to wal_level or effect= ive_wal_level?

When talking about where/whe= n a setting can specified, =E2=80=9Cthis=E2=80=9D always refers to the sett= ing being documented.=C2=A0 I=E2=80=99m doubtful of the need to reword thin= gs so that some other setting being talked about doesn=E2=80=99t get confus= ed instead.=C2=A0 The fact that we say effective WAL level is basically a r= untime derived setting in the prior sentence reinforces this belief.=C2=A0 = And we try to keep this sentence consistently at the end of the description= .=C2=A0 Maybe it needs its own paragraph though?=C2=A0 I=E2=80=99ll conside= r that.
=C2=A0

4)
Below that is <literal>minimal</literal>,

Shall we change "that" to <literal>replica</literal> = to avoid any confusion?

I=E2=80=99m on the = fence at the moment.=C2=A0 This entire section needs a relook anyway and I= =E2=80=99ll keep all these in mind.

David J.
--00000000000054cd83064eeb548d--