Re: [HACKERS] Reading backup label file for checkpoint and redolocation during crash recovery

Поиск
Список
Период
Сортировка
От Stephen Frost
Тема Re: [HACKERS] Reading backup label file for checkpoint and redolocation during crash recovery
Дата
Msg-id 20170925175703.GB4628@tamriel.snowman.net
обсуждение исходный текст
Ответ на Re: [HACKERS] Reading backup label file for checkpoint and redolocation during crash recovery  (Magnus Hagander <magnus@hagander.net>)
Ответы Re: [HACKERS] Reading backup label file for checkpoint and redolocation during crash recovery  (Satyanarayana Narlapuram <Satyanarayana.Narlapuram@microsoft.com>)
Список pgsql-hackers
* Magnus Hagander (magnus@hagander.net) wrote:
> On Mon, Sep 25, 2017 at 7:43 PM, Stephen Frost <sfrost@snowman.net> wrote:
> > * Satyanarayana Narlapuram (Satyanarayana.Narlapuram@microsoft.com) wrote:
> > > During crash recovery, last checkpoint record information is obtained
> > from the backup label if present, instead of getting it from the control
> > file. This behavior is causing PostgreSQL database cluster not to come up
> > until the backup label file is deleted (as the error message says).
> > >
> > > if (checkPoint.redo < checkPointLoc)
> > >                       {
> > >                              if (!ReadRecord(xlogreader,
> > checkPoint.redo, LOG, false))
> > >                                     ereport(FATAL,
> > >                                                   (errmsg("could not
> > find redo location referenced by checkpoint record"),
> > >                                                   errhint("If you are
> > not restoring from a backup, try removing the file \"%s/backup_label\".",
> > DataDir)));
> > >                       }
> > >
> > > If we are recovering from a dump file, reading from the backup label
> > files makes sense as the control file could be archived after a few
> > checkpoints. But this is not the case for crash recovery, and is always
> > safe to read the checkpoint record information from the control file.
> > > Is this behavior kept this way as there is no clear way to distinguish
> > between the recovery from the dump and the regular crash recovery?
> >
> > This is why the exclusive backup method has been deprecated in PG10 in
> > favor of the non-exclusive backup method, which avoids this by not
> > creating a backup label file (it's up to the backup software to store
> > the necessary information and create the file for use during recovery).
>
> Actally, it was deprecated already in 9.6, not just 10.

Whoops, right.  Thanks for the clarification. :)

Stephen

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Stephen Frost
Дата:
Сообщение: Re: [HACKERS] Built-in plugin for logical decoding output
Следующее
От: "Rady, Doug"
Дата:
Сообщение: [HACKERS] PATCH: pgbench - option to build using ppoll() for larger connectioncounts