Mikael Krantz wrote:
> If you perform a recovery form a file system level backup postgres will
> switch to a new timeline but the first WAL-log in with the new timeline will
> contain the previous timeline.
>
> If you start a backup immediately after recovery have completed the start of
> the backup will be in this bad WAL file. This makes the backup unrecoverable
> as it will fail with an error similar to:
>
> LOG: unexpected timeline ID 54 in log file 4, segment 236, offset 0
> LOG: invalid checkpoint record
> PANIC: could not locate required checkpoint record
> HINT: If you are not restoring from a backup, try removing the file
> "/var/lib/postgresql/8.3/main/backup_label".
>
>
> How to reproduce:
>
> * restore from backup
> * SELECT pg_start_backup('label');
> * take a new backup
> * SELECT pg_stop_backup();
> * copy the relevant WAL-files
> * try to restore the backup
I failed to reproduce this. Is it possible that the history file went
missing in the process? That's needed to recover WAL files from
timelines other than the latest one. You should only get that
"unexpected timeline ID" message if the history file doesn't contain a
line for that timeline ID.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com