On Wed, 3 Jun 2020 at 14:50, Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Tue, May 19, 2020 at 12:33 PM Masahiko Sawada > <masahiko.saw...@2ndquadrant.com> wrote: > > > > I think that the current three values are useful for users. The > > ‘required’ mode is used when users want to ensure all writes involved > > with the transaction are committed atomically. That being said, as > > some FDW plugin might not support the prepare API we cannot force > > users to use this mode all the time when using atomic commit. > > Therefore ‘prefer’ mode would be useful for this case. Both modes use > > 2pc only when it's required for atomic commit. > > > > So what do you think my idea that adding the behavior you proposed as > > another new mode? As it’s better to keep the first version simple as > > much as possible > > > > If the intention is to keep the first version simple, then why do we > want to support any mode other than 'required'? I think it will limit > its usage for the cases where 2PC can be used only when all FDWs > involved support Prepare API but if that helps to keep the design and > patch simpler then why not just do that for the first version and then > extend it later. OTOH, if you think it will be really useful to keep > other modes, then also we could try to keep those in separate patches > to facilitate the review and discussion of the core feature.
‘disabled’ is the fundamental mode. We also need 'disabled' mode, otherwise existing FDW won't work. I was concerned that many FDW plugins don't implement FDW transaction APIs yet when users start using this feature. But it seems to be a good idea to move 'prefer' mode to a separate patch while leaving 'required'. I'll do that in the next version patch. Regards, -- Masahiko Sawada http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services