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

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to