Re: Logical Replication upgrade

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(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 05:13:52
Message-ID: CAA4eK1+dR-sEGM+oC7H_-7PrBJBcdM2o5-eS6JrkMBJ0FOA54Q@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-docs

On Thu, Apr 16, 2026 at 8:59 AM David G. Johnston
<david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
>
> 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.
>

Right, I got confused.

> 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.
>

So, how about: "All slots on the old cluster must be usable, i.e.,
their pg_replication_slots.conflicting is false."?

--
With Regards,
Amit Kapila.

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message David G. Johnston 2026-04-16 05:46:06 Logical Replication upgrade
Previous Message Fujii Masao 2026-04-16 03:49:58 Re: pgsql: ssl: Serverside SNI support for libpq