On Wed, May 19, 2021 at 10:16 AM Fujii Masao
<masao.fujii@oss.nttdata.com> wrote:
>
> On 2021/05/18 15:46, Michael Paquier wrote:
> > On Tue, May 18, 2021 at 12:48:38PM +0900, Fujii Masao wrote:
> >> Currently a promotion causes all available WAL to be replayed before
> >> a standby becomes a primary whether it was in paused state or not.
> >> OTOH, something like immediate promotion (i.e., standby becomes
> >> a primary without replaying outstanding WAL) might be useful for
> >> some cases. I don't object to that.
> >
> > Sounds like a "promotion immediate" mode. It does not sound difficult
> > nor expensive to add a small test for that in one of the existing
> > recovery tests triggerring a promotion. Could you add one based on
> > pg_get_wal_replay_pause_state()?
>
> You're thinking to add the test like the following?
> #1. Pause the recovery
> #2. Confirm that pg_get_wal_replay_pause_state() returns 'paused'
> #3. Trigger standby promotion
> #4. Confirm that pg_get_wal_replay_pause_state() returns 'not paused'
>
> It seems not easy to do the test #4 stably because
> pg_get_wal_replay_pause_state() needs to be executed
> before the promotion finishes.
Even for #2, we can not ensure that whether it will be 'paused' or
'pause requested'.
--
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com