At Wed, 31 Mar 2021 15:03:28 +0900 (JST), Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote in
> At Wed, 31 Mar 2021 02:11:48 +0900, Fujii Masao <masao.fujii@oss.nttdata.com> wrote in
> > > So, I would revert all the changes in xlog.c except changing the
> > > warning to an error:
> > > - ereport(WARNING,
> > > - (errmsg("WAL was generated with wal_level=minimal,
> > > -data may be missing"),
> > > - errhint("This happens if you temporarily set
> > > -wal_level=minimal without taking a new base backup.")));
> > > + ereport(FATAL,
> > > + (errmsg("WAL was generated with
> > > wal_level=minimal, cannot continue recovering"),
> > > + errdetail("This happens if you temporarily set
> > > wal_level=minimal on the server."),
> > > + errhint("Run recovery again from a new base
> > > backup taken after setting wal_level higher than minimal")));
> > I guess that users usually encounter this error because they have not
> > taken base backups yet after setting wal_level to higher than minimal
> > and have to use the old base backup for archive recovery. So I'm not
> > sure
> > how much only this HINT is helpful for them. Isn't it better to append
> > something like "If there is no such backup, recover to the point in
> > time
> > before wal_level is set to minimal even though which cause data loss,
> > to start the server." into HINT?
>
> I agree that the hint doesn't make sense.
For the primary case,
> HINT: Restart with archive recovery turned off. The past backups are no longer usable. You need to take a new one
afterrestart.
>
> If it's the replica case, it would be..
>
> HINT: Start from a fresh standby created from the curent primary server.
Start from a fresh backup...
--
Kyotaro Horiguchi
NTT Open Source Software Center