Hi,
On 2025-12-17 09:19:57 +0530, Dilip Kumar wrote:
> On Tue, Dec 16, 2025 at 11:15 PM Andres Freund <andres@anarazel.de> wrote:
> > Actually, wouldn't a table-level property be completely inappropriate for
> > that? Imagine one publication that's used for HA (or major version upgrade)
> > and doesn't use a conflict table, which replicates all tables (including the
> > conflict table of another pub/sub). And a subscription doing bi-direction
> > replication that *does* obviously use the conflict table. In one of those
> > cases you want to replicate changes to the conflict table, in the other
> > not. So a table / pg_class property would be inappropriate, no?
>
> Not sure I completely got this point, but let me explain the
> requirement, so the idea is that the conflict log table which are
> created for the subscription if the conflict log table option is set
> then all the conflict occurred on the node would be inserted into this
> table, so you can consider this as a log which we want to use for
> better lookup instead of looking into the server logs. So IMHO this
> table stores very node specific conflict information which might not
> make any sense for other nodes.
Imagine you have a bi-directional replication setup between A <-> B. Then you
want to upgrade A to a new major version A'. To minimize downtime, you want to
use logical replication for that. For the logical replication A -> A', you
*would* want to logically replicate the conflict log table, because the
history of logical conflicts is actually important.
Greetings,
Andres Freund