On Wed, Aug 28, 2024 at 10:58 AM shveta malik <shveta.ma...@gmail.com> wrote: > > On Wed, Aug 28, 2024 at 10:30 AM Ajin Cherian <itsa...@gmail.com> wrote: > > > >> 2) > >> Currently pg_dump is dumping even the default resolvers configuration. > >> As an example if I have not changed default configuration for say > >> sub1, it still dumps all: > >> > >> CREATE SUBSCRIPTION sub1 CONNECTION '..' PUBLICATION pub1 WITH (....) > >> CONFLICT RESOLVER (insert_exists = 'error', update_differ = > >> 'apply_remote', update_exists = 'error', update_missing = 'skip', > >> delete_differ = 'apply_remote', delete_missing = 'skip'); > >> > >> I am not sure if we need to dump default resolvers. Would like to know > >> what others think on this. > >>
Normally, we don't add defaults in the dumped command. For example, dumpSubscription won't dump the options where the default is unchanged. We shouldn't do it unless we have a reason for dumping defaults. > >> 3) > >> Why in 002_pg_dump.pl we have default resolvers set explicitly? > >> > > In 003_pg_dump.pl, default resolvers are not set explicitly, that is the > > regexp to check the pg_dump generated command for creating subscriptions. > > This is again connected to your 2nd question. > > Okay so we may not need this change if we plan to *not *dump defaults > in pg_dump. > > Another point about 'defaults' is regarding insertion into the > pg_subscription_conflict table. We currently do insert default > resolvers into 'pg_subscription_conflict' even if the user has not > explicitly configured them. > I don't see any problem with it. BTW, if we don't do it, I think wherever we are referring the resolvers for a conflict, we need some special handling for default and non-default. Am I missing something? -- With Regards, Amit Kapila.