Re: Proposal for changes to recovery.conf API
От | Petr Jelinek |
---|---|
Тема | Re: Proposal for changes to recovery.conf API |
Дата | |
Msg-id | 5d0522e7-f6c6-df4e-49d6-e8829cc8bcca@2ndquadrant.com обсуждение исходный текст |
Ответ на | Re: Proposal for changes to recovery.conf API (Abhijit Menon-Sen <ams@2ndQuadrant.com>) |
Ответы |
Re: Proposal for changes to recovery.conf API
Re: Proposal for changes to recovery.conf API |
Список | pgsql-hackers |
On 06/09/16 07:18, Abhijit Menon-Sen wrote: > > One open issue is the various assign_recovery_target_xxx functions, > which Michael noted in his earlier review: > > +static void > +assign_recovery_target_xid(const char *newval, void *extra) > +{ > + recovery_target_xid = *((TransactionId *) extra); > + > + if (recovery_target_xid != InvalidTransactionId) > + recovery_target = RECOVERY_TARGET_XID; > + else if (recovery_target_name && *recovery_target_name) > + recovery_target = RECOVERY_TARGET_NAME; > + else if (recovery_target_time != 0) > + recovery_target = RECOVERY_TARGET_TIME; > + else if (recovery_target_lsn != 0) > + recovery_target = RECOVERY_TARGET_LSN; > + else > + recovery_target = RECOVERY_TARGET_UNSET; > +} > > (Note how recovery_target_lsn caused this—and three other functions > besides—to grow an extra branch.) > > I don't like this code, but I'm not yet sure what to replace it with. I > think we should address the underlying problem—that the UI doesn't map > cleanly to what the code wants. There's been some discussion about this > earlier, but not any consensus that I could see. > > Do we want something like this (easy to implement and document, perhaps > not especially convenient to use): > > recovery_target = 'xid' # or 'time'/'name'/'lsn'/'immediate' > recovery_target_xid = xxx? # the only setting we care about now > recovery_target_otherthings = parsed_but_ignored > > Or something like this (a bit harder to implement): > > recovery_target = 'xid:xxx' # or 'time:xxx' etc. > Personally, I never liked the fact that we have several config variables for this and then the last one is chosen (even when it was in recovery.conf). We support one recovery_target at a time so it would make sense to have single config option for it IMHO. So +1 on the recovery_target = 'xid:xxx' idea. -- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: