Re: Proposal: Conflict log history table for Logical Replication
Dilip Kumar <dilipbalaut@gmail.com>
From: Dilip Kumar <dilipbalaut@gmail.com>
To: Peter Smith <smithpb2250@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>,
shveta malik <shveta.malik@gmail.com>, vignesh C <vignesh21@gmail.com>, Masahiko Sawada <sawada.mshk@gmail.com>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-01-19T05:26:44Z
Lists: pgsql-hackers
Attachments
- v23-0001-Add-configurable-conflict-log-table-for-Logical-.patch (application/octet-stream) patch v23-0001
- v23-0002-Implement-the-conflict-insertion-infrastructure-.patch (application/octet-stream) patch v23-0002
- v23-0003-Doccumentation-patch.patch (application/octet-stream) patch v23-0003
On Mon, Jan 19, 2026 at 9:42 AM Peter Smith <smithpb2250@gmail.com> wrote: > > Some review comments for v22-0003. > > ====== > > 1. > It looks like none of my previous v20-0003 review comments [1] have > been addressed. Maybe accidentally overlooked? > > ====== > > 2. > + <caution> > + <para> > + The internal conflict logging table is strictly tied to > the lifecycle of the > + subscription or the > <literal>conflict_log_destination</literal> setting. If > + the subscription is dropped, or if the destination is changed to > + <literal>log</literal>, the table and all its recorded > conflict data are > + <emphasis>permanently deleted</emphasis>. To perform a > post-mortem analysis > + after removing a subscription, users must manually back up > or rename the > + conflict table before the deletion occurs. > + </para> > + </caution> > > 2a. > Let's consistently call this the "Conflict log table", same as > everywhere else, not "logging table". > > ~ > > 2b. > This is only a caution for the CLT, so I felt it's better to put this > in the scope of the 'table' param value. > > ~~~ > > 3. > + analysis of conflicts. This table is automatically > dropped when the > + subscription is removed. > > If you move the <caution> to this scope, as suggested above in #2b, > then you can remove the sentence "This table is automatically dropped > when the subscription is removed", because that is duplicate > information you already wrote in the caution. The attached patch fixes above comments and other comments reported in v22-0001 and v22-0002 > ====== > [1] v20 docs review - > https://www.postgresql.org/message-id/CAHut%2BPuzB4gNYvqX9hb28KE0RK_xhU%2B2-%3DwUfL5OEVUCi92Hqw%40mail.gmail.com I think I missed them, so I will respond to them separately. -- Regards, Dilip Kumar Google
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Allow logical replication conflicts to be logged to a table.
- a5918fddf10d master landed
-
Avoid orphaned objects dependencies
- 2fbb21170e90 19 (unreleased) cited