Re: Conflict Detection and Resolution - Mailing list pgsql-hackers
From | shveta malik |
---|---|
Subject | Re: Conflict Detection and Resolution |
Date | |
Msg-id | CAJpy0uCOrqnEt_GMFNoU+G-BWCmxPqeeE37S4nuv4A_fjJc5+w@mail.gmail.com Whole thread Raw |
In response to | Re: Conflict Detection and Resolution (Amit Kapila <amit.kapila16@gmail.com>) |
Responses |
Re: Conflict Detection and Resolution
|
List | pgsql-hackers |
On Wed, Jun 26, 2024 at 2:33 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Tue, Jun 25, 2024 at 3:39 PM shveta malik <shveta.malik@gmail.com> wrote: > > > > On Tue, Jun 25, 2024 at 3:12 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > > > On Mon, Jun 24, 2024 at 1:47 PM shveta malik <shveta.malik@gmail.com> wrote: > > > > > > > > On Thu, Jun 20, 2024 at 6:41 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > > > > > > > >> In the second patch, we can implement simple built-in resolution > > > > > >> strategies like apply and skip (which can be named as remote_apply and > > > > > >> keep_local, see [3][4] for details on these strategies) with ERROR or > > > > > >> LOG being the default strategy. We can allow these strategies to be > > > > > >> configured at the global and table level. > > > > > > > > Before we implement resolvers, we need a way to configure them. Please > > > > find the patch002 which attempts to implement Global Level Conflict > > > > Resolvers Configuration. Note that patch002 is dependent upon > > > > Conflict-Detection patch001 which is reviewed in another thread [1]. > > > > I have attached patch001 here for convenience and to avoid CFBot > > > > failures. But please use [1] if you have any comments on patch001. > > > > > > > > New DDL commands in patch002 are: > > > > > > > > To set global resolver for given conflcit_type: > > > > SET CONFLICT RESOLVER 'conflict_resolver' FOR 'conflict_type' > > > > > > > > To reset to default resolver: > > > > RESET CONFLICT RESOLVER FOR 'conflict_type' > > > > > > > > > > Does setting up resolvers have any meaning without subscriptions? I am > > > wondering whether we should allow to set up the resolvers at the > > > subscription level. One benefit is that users don't need to use a > > > different DDL to set up resolvers. The first patch gives a conflict > > > detection option at the subscription level, so it would be symmetrical > > > to provide a resolver at the subscription level. Yet another benefit > > > could be that it provides users facility to configure different > > > resolvers for a set of tables belonging to a particular > > > publication/node. > > > > There can be multiple tables included in a publication with varying > > business use-cases and thus may need different resolvers set, even > > though they all are part of the same publication. > > > > Agreed but this is the reason we are planning to keep resolvers at the > table level. Here, I am asking to set resolvers at the subscription > level rather than at the global level. Okay, got it. I misunderstood earlier that we want to replace table level resolvers with subscription ones. Having global configuration has one benefit that if the user has no requirement to set different resolvers for different subscriptions or tables, he may always set one global configuration and be done with it. OTOH, I also agree with benefits coming with subscription level configuration. thanks Shveta
pgsql-hackers by date: