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 1wDD2B-002jNU-11 for pgsql-docs@arkaria.postgresql.org; Thu, 16 Apr 2026 03:04: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 1wDD2A-003RLJ-1Y for pgsql-docs@arkaria.postgresql.org; Thu, 16 Apr 2026 03:04:50 +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 1wDD2A-003RLB-0o for pgsql-docs@lists.postgresql.org; Thu, 16 Apr 2026 03:04:50 +0000 Received: from mail-lf1-x12e.google.com ([2a00:1450:4864:20::12e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wDD27-00000001L1P-3zOF for pgsql-docs@lists.postgresql.org; Thu, 16 Apr 2026 03:04:49 +0000 Received: by mail-lf1-x12e.google.com with SMTP id 2adb3069b0e04-5a40d02b58bso962461e87.3 for ; Wed, 15 Apr 2026 20:04:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776308687; cv=none; d=google.com; s=arc-20240605; b=fdFnpFERzIr1IOFFcYrE/UGjRIzQ2p//uh+p9eXAFIjIPGe3t5U4GX9Tl9O59EuvKu +nN0Ugq4uenO5giB3jIltXeDVoQTY5F6jWK/1Xm9GmcvVREA9FLcAX6OD9Gf/lqq8F+1 J6kgNQZveW2dsF5KHkUvb1xnSTWUBQjlGJbLAZY4yDGaDb9DPakgqd039X3bnLj5l/4T KaVzQrgsKuP+GsFYhwOnAK3e5Ds/btHVMLLIuCCzScw7C4yaei79BHdkxZvqV/UIEapS ucCJyW0V3ItzctNolY66SVIfm9lchWv6fIltQBzDbHEs4K6Fi28HxQg3iN6h6zhrK4mn kbzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=Fq06V8j7sOcdvKn2h95pUwGiQQVtU0eNjSgazYoEfuw=; fh=MNDF0imaC7OMb0O1Yu67ILZYSH/7hOFGf2/S1ZH7og8=; b=JS3MSLL2qBEP5PtpmbNAH+5Slmmz7XBumJN3o0+GMWkJH6JVbrlOsimuB76L4dOSUX kiKAGMTC/XE5/Jq8uESFNyX2bWmjsi/mp2HRy820ZdT7d24gylFVVM6sjYMU6Dwp39us KTlhEror/S4rILolRbiwuX4jxRVq0W1kRZ77hxeTTwIydQ9oUtJLMmZW7dDjtiJ3jkup FJMN0ptgs1n3kfSV4P3BIJza5iUyrmbI0XCd65PmMEikTfuUBvOjofePaiCwdZ3wxKMA rtCZafNIhgB0M8yf2ahwjRZHqYffALe5Mj2x5gTxffCDB0JwuiccXBA7WSRmgkiL1eB5 v0JA==; 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=1776308687; x=1776913487; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Fq06V8j7sOcdvKn2h95pUwGiQQVtU0eNjSgazYoEfuw=; b=BgcniXwP74f6Z7OLmXIlEwTCKPjrlysntEX+sFeIFXBV+POKj81RenkCpxW4Y0oV2w KTVSL0SJUAH7WEnjSCsq3u5KN66357zO9KWt8ou9In5DkPFEiJzMqS+cfor6vFSLUn6i Sqi8vcBsG2EVfvAnerqCBg9+CV5FiuDeFs1eGm0zlfAOFQPcL+zRv1Spk8lEL/ZioI67 YA3EXLbBAcWiL/W1ay+ywSLcniOoEy8McFADYSIh6OaFJPOloRWU4jPsKFXBoeneRMA7 Hi/AAkm2KRIoggm6hNFSstM1UsfWTUJ5gO6YBauUJrvNJUH+Zw4IfZeh0Hkdf3CSi7v3 a0LA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776308687; x=1776913487; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Fq06V8j7sOcdvKn2h95pUwGiQQVtU0eNjSgazYoEfuw=; b=YDI5Kcon/JE0n1nfmAFsihCoswxCqjRzBP1vTQJYQlyviHfBFK/1L4Z7u7wj4zu2Yd pJyTZO5HsEPO/ULP2hKEHdoZ8sTMhmGiIHSSzNfodJESilS1advMXlKYE944weTFzNxd Uze93J+BrWij8V6WwJGWeUyglVdaAfG+Y3ySnuDcPL4TuIX21VgXEtduvtFKCpbR3r6w OsTjjasMjI/rdhF9X2Fy/jaPooO3zuvdQ2GZc1VDDhKHaVUR6PJCQqq8VbAIMw8MOc6y BzWCXn1w3d+trxs6Q5qV7qUFFEDKNwbNpPF2cE5xLqLj+/rXfvcl97FVUBL4YuXHDhdo FvyA== X-Forwarded-Encrypted: i=1; AFNElJ9kdoor+oLBiTGpp1YDNBnAJ/+5j6566GYilTZN2/vEt0NfKaYDR6gVw/p72vIF6N9YEac8i+WjL1O9@lists.postgresql.org X-Gm-Message-State: AOJu0Yyn3aHZDVmHCkhPCgAfW8DGeslw4eG8dFLF5mCEKtjCz2dZ07ZI 1FrMCK4wofBv4Rr99thhlM7uBxwvYSEmfJBtZ3ngNrY4vZTpBkcCd2hHs9mkjp7BniXWO+AtqGu 4l7mHIWJ6vBvlB/5XQqWI7b+kqF0zeFo= X-Gm-Gg: AeBDietVXV1dXsNpHdEd2j/c3ufmCqamICR6GfIbWQU/Aipn+OmFpayY2rbg4uG+6qs E+kINpIkc44nFZNIfLC4gPJq7Ot5Ju9/RTUiYg2Tz3KDMotd/NCmgLs2828u1vIr8LZTvNzL+xc HDkPtIiLSGHbEOJJnEJyRb89JyoyAAE5h4viCf3n2Uv0VM08LAhfV6kbME83kuggOjRqjloXG6W DGK+NBLgu7yGoj54IwAFGvfk7Jhz62HyFbGb9eDPwPADA5AudSCP+Sr48ZkFAA2VElJEd76bK2e ImTK9vKsFyFWSejAdDA/ylq0Ln5EYY2FTgM7L1dOAXDOZ4kqzsXCjPi2bLr7CpHvHoIgaogPsJB q5npi5QR9 X-Received: by 2002:a05:6512:3b0c:b0:5a2:c1b5:f70d with SMTP id 2adb3069b0e04-5a3ef70660fmr6644091e87.6.1776308686893; Wed, 15 Apr 2026 20:04:46 -0700 (PDT) MIME-Version: 1.0 References: <177609278737.403059.14174275013090471947@wrigleys.postgresql.org> In-Reply-To: From: Amit Kapila Date: Thu, 16 Apr 2026 08:34:34 +0530 X-Gm-Features: AQROBzDKTTxavAxqaPSHq9YPaYYvxfKENtQTbgxMOVSthGJn3OO8ThPhf4Tv1io Message-ID: Subject: Re: Logical Replication upgrade To: "David G. Johnston" Cc: mimidatabase@gmail.com, pgsql-docs@lists.postgresql.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, Apr 15, 2026 at 9:25=E2=80=AFPM David G. Johnston wrote: > > On Wed, Apr 15, 2026 at 7:52=E2=80=AFAM PG Doc comments form wrote: >> >> The following documentation comment has been logged on the website: >> >> Page: https://www.postgresql.org/docs/18/logical-replication-upgrade.htm= l >> Description: >> >> Hello there, >> >> I don't know if it's me but I find this sentence quite confusing in its >> current wording: >> All slots on the old cluster must be usable, i.e., there are no slots wh= ose >> pg_replication_slots.conflicting is not true. >> >> The prerequisite is that no replication slot has conflicting=3Dtrue righ= t? >> So this sentence (the i.e. part) suggests the opposite, as per my >> understanding. >> >> Here is the link (29.13.1): >> https://www.postgresql.org/docs/current/logical-replication-upgrade.html= #STEPS-TWO-NODE-CIRCULAR-LOGICAL-REPLICATION-CLUSTER:~:text=3Dthere%20are%2= 0no%20slots%20whose%20pg_replication_slots.conflicting%20is%20not%20true >> > > You are correct. Usage of a double-negative should be avoided as a matte= r of style, but in this case it actually resolves to an untrue statement. > > https://github.com/postgres/postgres/commit/7fdeaf5774d05245e82632e763665= ff62db5598e > > I've copied the committer for this. Removing the "not" is simple enough;= though writing in the negative sense, > How about: "All slots on the old cluster must be usable, i.e., there are no slots whose pg_replication_slots.conflicting is false."? --=20 With Regards, Amit Kapila.