Re: Is Recovery actually paused?
От | Dilip Kumar |
---|---|
Тема | Re: Is Recovery actually paused? |
Дата | |
Msg-id | CAFiTN-tYCekWBadnmj-3CPfpozQ2VcuBgvpMG_x61b05sPjYpQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Is Recovery actually paused? (Dilip Kumar <dilipbalaut@gmail.com>) |
Ответы |
Re: Is Recovery actually paused?
|
Список | pgsql-hackers |
On Tue, Oct 20, 2020 at 1:22 PM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > On Tue, Oct 20, 2020 at 1:11 PM Simon Riggs <simon@2ndquadrant.com> wrote: > > > > On Mon, 19 Oct 2020 at 15:11, Dilip Kumar <dilipbalaut@gmail.com> wrote: > > > > > We have an interface to pause the WAL replay (pg_wal_replay_pause) and > > > to know whether the WAL replay pause is requested > > > (pg_is_wal_replay_paused). But there is no way to know whether the > > > recovery is actually paused or not. Actually, the recovery process > > > might process an extra WAL before pausing the recovery. So does it > > > make sense to provide a new interface to tell whether the recovery is > > > actually paused or not? > > > > > > One solution could be that we convert the XLogCtlData->recoveryPause > > > from bool to tri-state variable (0-> recovery not paused 1-> pause > > > requested 2-> actually paused). > > > > > > Any opinion on this? > > > > Why would we want this? What problem are you trying to solve? > > The requirement is to know the last replayed WAL on the standby so > unless we can guarantee that the recovery is actually paused we can > never get the safe last_replay_lsn value. > > > If we do care, why not fix pg_is_wal_replay_paused() so it responds as you wish? > > Maybe we can also do that but pg_is_wal_replay_paused is an existing > API and the behavior is to know whether the recovery paused is > requested or not, So I am not sure is it a good idea to change the > behavior of the existing API? > Attached is the POC patch to show what I have in mind. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
Вложения
В списке pgsql-hackers по дате отправления: