Re: Proposal: Conflict log history table for Logical Replication
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Dilip Kumar <dilipbalaut@gmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>,
shveta malik <shveta.malik@gmail.com>, Masahiko Sawada <sawada.mshk@gmail.com>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-19T06:22:12Z
Lists: pgsql-hackers
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
On Fri, Dec 19, 2025 at 11:44 AM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > On Fri, Dec 19, 2025 at 11:12 AM Peter Smith <smithpb2250@gmail.com> wrote: > > > > I didn't mean to suggest we should allow "not logging anywhere". I > > only wanted to ask how the user is expected to revert the conflict > > logging back to the default after they had set it to something else. > > Okay understood, thanks for the clarification. > > > e.g. > > > > CREATE SUBSCRIPTION mysub2 ... WITH(conflict_log_destination=table) > > Now, how to ALTER SUBSCRIPTION to revert that back to default? > > > > It seems there is no "reset to default" so is the user required to do > > this explicitly? > > ALTER SUBSCRIPTION mysub2 SET (conflict_log_destination=log); > > > > Maybe that's fine --- I was just looking for some examples/clarification. > > Yeah this is the way, IMHO it looks fine to me. > How about considering log as default, so even if the user resets it via "ALTER SUBSCRIPTION mysub2 SET (conflict_log_destination='');", we send it to LOG as we are doing currently in HEAD? This means conflict_log_destination='' or conflict_log_destination='log' means the same. -- With Regards, Amit Kapila.