Re: Proposal: Conflict log history table for Logical Replication

Shlok Kyal <shlok.kyal.oss@gmail.com>

From: Shlok Kyal <shlok.kyal.oss@gmail.com>
To: Dilip Kumar <dilipbalaut@gmail.com>
Cc: vignesh C <vignesh21@gmail.com>, shveta malik <shveta.malik@gmail.com>, Amit Kapila <amit.kapila16@gmail.com>, Nisha Moond <nisha.moond412@gmail.com>, Peter Smith <smithpb2250@gmail.com>, Masahiko Sawada <sawada.mshk@gmail.com>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-06-15T05:21:47Z
Lists: pgsql-hackers
On Sat, 13 Jun 2026 at 15:47, Dilip Kumar <dilipbalaut@gmail.com> wrote:
>
> On Thu, Jun 11, 2026 at 5:53 PM vignesh C <vignesh21@gmail.com> wrote:
> >
> > On Thu, 11 Jun 2026 at 10:44, Dilip Kumar <dilipbalaut@gmail.com> wrote:
> > >
> > > Please find the rebased patch
> > > 1. It includes the new 0005 patch for reporting errors for DDLs on clt.
> > >
> > > Open comments:
> > > 1. Recent comments from Nisha and Shveta after v47 are still open
> > > 2. Vignesh's patch for "describe related" changes needs a rebase. Can
> > > you do that, Vignesh? Meanwhile, I will close all the open comments
> > > and try to share a new version by EOD today.
> >
> > Here is the rebased version of the patch attached.
>
> Please find attached the latest patch. I have reordered the series,
> moving 0006 to 0002, and updated the lock restrictions. We now allow
> ACCESS SHARE mode exclusively to ensure pg_dump can acquire its
> necessary locks, while blocking higher-level locks to prevent
> interference with insertions into the conflict log tables.
Hi Dilip and Vignesh,

I checked the Cfbot and noticed that one of the 'CompilerWarnings' [1]
flow is failing with:
describe.c: In function 'describeSubscriptions':
describe.c:7456:29: error: 'logdest' may be used uninitialized
[-Werror=maybe-uninitialized]
7456 | if (strcmp(logdest, "table") == 0 || strcmp(logdest, "all") == 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~
describe.c:7356:29: note: 'logdest' was declared here
7356 | char *logdest;
| ^~~~~~~
cc1: all warnings being treated as errors

[1]: https://github.com/postgresql-cfbot/postgresql/actions/runs/27464417110/job/81184175578

Thanks,
Shlok Kyal



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Allow logical replication conflicts to be logged to a table.

  2. Avoid orphaned objects dependencies