Re: Proposal: Conflict log history table for Logical Replication
shveta malik <shveta.malik@gmail.com>
From: shveta malik <shveta.malik@gmail.com>
To: Dilip Kumar <dilipbalaut@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>,
Peter Smith <smithpb2250@gmail.com>, vignesh C <vignesh21@gmail.com>, Nisha Moond <nisha.moond412@gmail.com>, Masahiko Sawada <sawada.mshk@gmail.com>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
shveta malik <shveta.malik@gmail.com>
Date: 2026-07-03T07:21:31Z
Lists: pgsql-hackers
On Thu, Jul 2, 2026 at 3:33 PM shveta malik <shveta.malik@gmail.com> wrote: > > On Thu, Jul 2, 2026 at 1:39 PM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > > > > > I rebased the remaining patches on top of HEAD. So far, I have run > > pgindent and completed the doc merge for 0001. The 0002 and 0003 are > > just rebased. > > > I am focusing on 001 alone. I was verifying conflict insertion for all conflict_types in regular worker flow (not parallel), I have just one comment there: For insert_exists conflict, both replica_identity (JSON) and replica_identity_full (bool) are NULL. Is it conscious decision to keep 'replica_identity_full' as NULL or shall we make this field as 'bool NOT NULL DEFAULT false'. As per doc at [1], NULL value for boolean represents 'unknown' If it is intentionaly kept NULL, do you think we should update below doc to explain that it can be NULL for the cases where replica_identity is not applicable. replica_identity_full boolean I indicates whether replica_identity represents a full tuple (true) or key values of a replica identity index (false). [1]: https://www.postgresql.org/docs/19/datatype-boolean.html thanks Shveta
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