On Thu, Apr 16, 2026 at 8:59 AM David G. Johnston
<[email protected]> wrote:
>
> On Wednesday, April 15, 2026, Amit Kapila <[email protected]> wrote:
>>
>> On Wed, Apr 15, 2026 at 9:25 PM David G. Johnston
>> <[email protected]> wrote:
>> >
>> > On Wed, Apr 15, 2026 at 7:52 AM PG Doc comments form 
>> > <[email protected]> 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.


Reply via email to