Re: Proposal: Conflict log history table for Logical Replication - Mailing list pgsql-hackers

From Peter Smith
Subject Re: Proposal: Conflict log history table for Logical Replication
Date
Msg-id CAHut+PsxJFv5zXRo6-ZFFw4UUpWQUyv23FQTRain-4jAEajyjw@mail.gmail.com
Whole thread
List pgsql-hackers
Hi Dilip.

I've been thinking more about this new option:
conflict_log_destination (enum) = 'log' or 'table' or 'all'.

I think it behaves more like a bitmap than an enum. Also, having 'all'
as an enum value seems odd to me. IMO, this new option is actually
more similar to the 'publish' option from CREATE PUBLICATION.

I suggest it might be better to implement this as a *string* option:
conflict_log_destination (string), and has allowed values of 'log' and 'table'.

e.g.
conflict_log_destination = 'log'
conflict_log_destination = 'table'
conflict_log_destination = 'log, table'

Apart from being more intuitive and readable, this way is also
future-proof in case some 3rd/4th/etc way of logging is invented --
e.g. the user can define whatever combinations they want instead of
being stuck with only "all".

Thoughts?

======
Kind Regards,
Peter Smith.
Fujitsu Australia



pgsql-hackers by date:

Previous
From: "Hayato Kuroda (Fujitsu)"
Date:
Subject: RE: pg_createsubscriber: allow duplicate publication names
Next
From: "Joel Jacobson"
Date:
Subject: Re: PostgreSQL 19 Beta 1 release announcement draft