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 1wDFYK-002mKx-1k for pgsql-docs@arkaria.postgresql.org; Thu, 16 Apr 2026 05:46:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wDFYI-0041bX-1g for pgsql-docs@arkaria.postgresql.org; Thu, 16 Apr 2026 05:46:10 +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 1wDFYI-0041bO-0Y for pgsql-docs@lists.postgresql.org; Thu, 16 Apr 2026 05:46:10 +0000 Received: from mail-yx1-xb134.google.com ([2607:f8b0:4864:20::b134]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wDFYF-00000001GWK-2XwE for pgsql-docs@lists.postgresql.org; Thu, 16 Apr 2026 05:46:09 +0000 Received: by mail-yx1-xb134.google.com with SMTP id 956f58d0204a3-65006c99d38so7900732d50.3 for ; Wed, 15 Apr 2026 22:46:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776318367; cv=none; d=google.com; s=arc-20240605; b=Xb/zbjxw8uidIOfeANHshVlnnmF+BX2ENkuwIYoYJJ+B40eIbCyyBjBUWRWLUFBRsS Nf2ROcttsRx1UjkQJP1UFoQa7y2RX75pNDO5M/PYikl4UlTYGglFrjGBuiry9W7s6lhg 5IsgzdJMAJ8GS20/cF1vTDtobcClnpATkyiFvR+G/nGguArB4nIM/r3J9QCjJJoQJjyN oPDoU+8jzhI6yLWmMpwy1P/pA8Zn2FtXoALiAhZTKk02bdGaUefK8UaqGzBKM3ciTJA1 hWR4hazwJF5LdtK8eww9TB6l67w2JT8ioJAs84b8hFt2LoTeO68VGaKt+3Rp0dZdfWgd LAZQ== 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=/WlIH33sQN64fTRUuqEqVnwcVjavnt3Q2YfPs99NPPc=; fh=L0R2ii0t4xX3iQO8q0eKxV4jQU2/G/gVufFsHYTX4R4=; b=Pd3rMEbVnHkFOI76QfJVLCxihzMNIAoE1yr3XxerTGMJ1FdFRASQsmTvZRs96XZt/6 s1OoL8sjoTBdXcPneSoeBHz5R2dXupazTt7SQqsjSvvuclkQb8aS7Ci6MZSPnDVIrTFf n0NLsb+hku5ONgMd/2WBq3xcacuwjwBlhR6bORbJVl3IRAONyM8TEo0E+iZsaiVa/xHV l2L6KL7AsP8IIJeUYw3Uq531MOOdKSCcxIWScEKByGdhrpIsBbrtlQDpMjeGDbkCOwGv 5jQCbB2n8Pyw+cFA7vqVVt2EEsgyC3lNU9XgBkZIkvf+tbyozVo6NPOs1Js75DiW2UBk /yxA==; 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=1776318367; x=1776923167; 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=/WlIH33sQN64fTRUuqEqVnwcVjavnt3Q2YfPs99NPPc=; b=mf9B6Zam00Pk/5yK6YX/tlUeU12uDEWDTUKkJK8gj5N7WpaPeQZq9AVHgIOdmH9Tzl 6/YBIXsInn9uqStiXeSwpEoo4g+S1jvOFG0LIon+8BNMBrwbk48pzy1dFkpHQnAm2V0p WcPWWadZmTfOoStz+3mwIbVer04NFZQNKkxaIJ9BBEobFmwujGssNoeNK+ArgezhGTO2 oQsOl0k/l+JrdRF9J3qoYztugTxStvkiUAfjfT5ttPMh5slr1ytokMU5wStmRH+kmF8y LqHq52JeACrlocrkazwSazxRrV5sgLAdulitElUbzadhFNoSC2gGWUnHc+cgYz+7O3y4 TTOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776318367; x=1776923167; 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=/WlIH33sQN64fTRUuqEqVnwcVjavnt3Q2YfPs99NPPc=; b=ZoPAQnDf23TNe+4HxYkAd3T+CrX6d9tkvo7wV4FL/bxZL5siG6Y/rh8XqcXi2e/P55 GjtKToozsURa70cEoCk+dSziihW8gMhZy5/4NNyQVht9Qxmjt5lOXTWry2bph4d10ypC uW06XVnGA1I0QQOgVNchY4wGVczPrA1TKBtMu6JI3R2ZcMx4Ga79hHv6yS4ZPuOjtUF1 X4+a3/431gl+DtubQzzsCZ0fyuNiz6vNy4VZRpNdikyjcwZPOsa8Bbt77CgAD3zhGLRv 7na25yZ77Nf9DSrVEYm6lYUolActcPNCOug7J7Ej0iac1+puQJv0fUxciId/6OijcYfn K8EQ== X-Forwarded-Encrypted: i=1; AFNElJ82QfeTSVqGgGF23M5WkqfXGNKlaC1CWjLsnPw/fralxt5XWhQyVXBXkGTcRELPYjLCV4sQwl6svm8Y@lists.postgresql.org X-Gm-Message-State: AOJu0YwO96Okh+5GZPISPjMXU4GWYdOfRR2bJo7G+CUv1IxOvjIt7DNA 1+SnBsbmjmsIke6H9CpYCE+Hoc6cM1RVjO1ojMaM+x9VMhVoGhOi2Du4JAT/BPFW0V/CVr8NLAb eDtJpJOd/riV/9cX8zNVFsO2Ns/nqQ+Q= X-Gm-Gg: AeBDievE3QJdUKnV3lUQ8kF2RLIFH8uwSQYBPpuv0RAok0esUUWsRmsneThWSZcXvRG buPJp9S/w0lEE/6C0mpqDesltYXRtw8eAbTzT1K7baDCybwrK+Y1DBCagdFgwj2jbZODbP9KB4G x499evrZmO1kF8jKSli5YzazbI/E8zj1wpyRPXdFNkrZqfLa7mnPNYC5DgqgOf7GDN3vLlXkkJG oWTr99fVKiMQFSfiDget5yBqg9OLhAJFthOX1Id4v85hCO02vdgBmfKkLgkZvBipU4iU4GkYjTB FDF1WQUhjfLPXlchIw== X-Received: by 2002:a05:690e:190e:b0:64f:f0e2:f54e with SMTP id 956f58d0204a3-65198b422b4mr24225128d50.36.1776318367118; Wed, 15 Apr 2026 22:46:07 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a05:7011:e8d:b0:513:aa73:a07c with HTTP; Wed, 15 Apr 2026 22:46:06 -0700 (PDT) In-Reply-To: References: <177609278737.403059.14174275013090471947@wrigleys.postgresql.org> From: "David G. Johnston" Date: Wed, 15 Apr 2026 22:46:06 -0700 X-Gm-Features: AQROBzDluJC3WYY1s2ERyPeQfLIt4TgytvqAjmqO-56LRYHuaNLijvmNnaJaVUo Message-ID: Subject: Logical Replication upgrade To: Amit Kapila Cc: "mimidatabase@gmail.com" , "pgsql-docs@lists.postgresql.org" Content-Type: multipart/alternative; boundary="00000000000047b724064f8d596c" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000047b724064f8d596c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wednesday, April 15, 2026, Amit Kapila wrote: > > So, how about: "All slots on the old cluster must be usable, i.e., > their pg_replication_slots.conflicting is false."? > That works. Then we=E2=80=99d also change: The new cluster must not have permanent logical slots, i.e., there must be no slots where pg_replication_slots.temporary is false. To be: =E2=80=9CThe new cluster is only permitted to have temporary logical slots,= i.e., ones where pg_replication_slots.temporary is true.=E2=80=9D We could make it mirror the above one more closely, but as the former mentions the old cluster and the later the new one, I kinda like the different flow, less likely to skim over it. David J. --00000000000047b724064f8d596c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wednesday, April 15, 2026, Amit Kapila <amit.kapila16@gmail.com> wrote:
<= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex">
So, how about: "All slots on the old cluster must be usable, i.e.,
their pg_replication_slots.conflicting is false."?

That works.

Then = we=E2=80=99d also change:

The new cluster must not have= permanent logical slots, i.e., there must be no slots where pg_replication= _slots.temporary is false.

= To be= :

=E2=80=9CThe new cluster is o= nly permitted to have temporary logical slots, i.e., ones where pg_replicat= ion_slots.temporary is true.=E2=80=9D

=
We could make it mirror the above one more closely, but as the former= mentions the old cluster and the later the new one, I kinda like the diffe= rent flow, less likely to skim over it.

David J.

--00000000000047b724064f8d596c--