Re: Logical Replication upgrade

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: "mimidatabase(at)gmail(dot)com" <mimidatabase(at)gmail(dot)com>, "pgsql-docs(at)lists(dot)postgresql(dot)org" <pgsql-docs(at)lists(dot)postgresql(dot)org>
Subject: Re: Logical Replication upgrade
Date: 2026-04-16 03:29:35
Message-ID: CAKFQuwbHjB6EEdp6mmaUt4bCTYrYUdvEr44vVqhdT0OD4Z+3Qg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-docs

On Wednesday, April 15, 2026, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:

> On Wed, Apr 15, 2026 at 9:25 PM David G. Johnston
> <david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
> >
> > On Wed, Apr 15, 2026 at 7:52 AM PG Doc comments form <
> noreply(at)postgresql(dot)org> wrote:
> >>
> >> The following documentation comment has been logged on the website:
> >>
> >> Page: https://www.postgresql.org/docs/18/logical-replication-
> upgrade.html
> >> 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
> whose
> >> pg_replication_slots.conflicting is not true.
> >>
> >> The prerequisite is that no replication slot has conflicting=true right?
> >> 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=there%20are%20no%20slots%
> 20whose%20pg_replication_slots.conflicting%20is%20not%20true
> >>
> >
> > You are correct. Usage of a double-negative should be avoided as a
> matter of style, but in this case it actually resolves to an untrue
> statement.
> >
> > https://github.com/postgres/postgres/commit/
> 7fdeaf5774d05245e82632e763665ff62db5598e
> >
> > 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."?
>

That is the same backwards outcome. You only replaced “not true” with
“false” (same meaning) but didn’t change the “no slots” phrasing.

You can write either?

No slots are true (conflicting)
All slots are false (not conflicting)

I prefer the second, and the fact your attempted fix didn’t actually fix
things suggests that rephrasing both of these to “all slots are” is better.

David J.

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Fujii Masao 2026-04-16 03:49:58 Re: pgsql: ssl: Serverside SNI support for libpq
Previous Message Amit Kapila 2026-04-16 03:04:34 Re: Logical Replication upgrade