Thread

  1. Re: Proposal: Conflict log history table for Logical Replication

    Peter Smith <smithpb2250@gmail.com> — 2026-05-28T01:20:03Z

    Hi Vignesh.
    
    Here are some review comments for the v41-0008/9 combined (docs) patch.
    
    ======
    doc/src/sgml/ddl.sgml
    
    (5.11.6. The Conflict Schema)
    
    1.
    +   <para>
    +    Similarly, the <literal>pg_conflict</literal> schema (sometimes referred to
    +    as the <emphasis>conflict schema</emphasis>) contains system managed
    +    conflict log tables used for logical replication conflict tracking. These
    +    tables are created and maintained by the system and are not intended for
    +    direct user manipulation. Unlike <literal>pg_catalog</literal>, the
    +    <literal>pg_catalog</literal> schema is not implicitly included in the
    +    search path, so objects within it must be referenced explicitly or by
    +    adjusting the search path.
    +   </para>
    
    1a.
    /Similarly, the/The/
    
    ~
    
    1b.
    IMO don't say "sometimes".
    
    Also, case. /conflict schema/Conflict schema/
    
    ~
    
    1c.
    "conflict log tables" -- I think it will be helpful if this includes a
    link to "29.8.2. Table-based logging #".
    
    ~
    
    1d.
    "Unlike <literal>pg_catalog</literal>, the
    <literal>pg_catalog</literal> schema..."
    
    typo. That 2nd pg_catalog should say pg_conflict.
    
    ======
    doc/src/sgml/glossary.sgml
    
    2.
    +  <glossentry id="glossary-conflict-schema">
    +   <glossterm>conflict schema</glossterm>
    +   <glossdef>
    +    <para>
    +     The <literal>pg_conflict</literal> schema that contains system-managed
    +     conflict log tables for logical replication. These tables are created
    +     and maintained automatically by the system and are not intended for
    +     direct user manipulation. See <xref linkend="ddl-schemas-conflict"/>.
    +    </para>
    +   </glossdef>
    +  </glossentry>
    +
    
    case. /conflict schema/Conflict schema/
    
    ======
    doc/src/sgml/logical-replication.sgml
    
    (29.2. Subscription)
    
    3.
    +   automatically manages a dedicated <firstterm>conflict log table</firstterm>,
    +   which is created an dropped along with the subscription. This significantly
    +   improves post-mortem analysis and operational visibility of the replication
    +   setup.
    
    typo.  /created an dropped/created and dropped/
    
    ~~~
    
    (29.8.2. Table-based logging)
    
    4.
    +    a dedicated conflict log table will be automatically created. This table is
    +    created in the <literal>pg_conflict</literal> namespace. The name of the
    
    Instead of "<literal>pg_conflict</literal> namespace", this should now
    say "Conflict schema" and have a link to that new docs section.
    
    ======
    doc/src/sgml/ref/create_subscription.sgml
    
    (Parameters - conflict_log_destination)
    
    5.
    +             named <literal>pg_conflict_log_for_subid_&lt;subid&gt;</literal>
    +             in the <literal>pg_conflict</literal> schema. This allows for easy
    
    Same as review comment #4. Instead of "<literal>pg_conflict</literal>
    schema", this should now say "Conflict schema" and have a link to that
    new docs section.
    
    ======
    Kind Regards,
    Peter Smith.
    Fujitsu Australia