WAL recovery question - 0000001.history

Поиск
Список
Период
Сортировка
От Andy Shellam
Тема WAL recovery question - 0000001.history
Дата
Msg-id 20060428152301.007F011F602A@postgresql.org
обсуждение исходный текст
Ответы Re: WAL recovery question - 0000001.history
Re: WAL recovery question - 0000001.history
Список pgsql-admin
I've developed and am now testing a new "rolling-WAL" script, and have
noticed something a little peculiar with Postgres 8.1.3.

Basically I've taken a dump of my live database directory (between
pg_start_backup and pg_stop_backup) calls - shipped this to my standby, set
up a recovery.conf file (which calls the rolling-WAL script).  This script
is designed to wait until the log file arrives, or a flag file is set to
return code 1 to postgres.

However as soon as the recovery starts, the script is waiting for a file
called 00000001.history, which will never arrive because it was never
generated on the live box since the base backup was taken.

So, what I did, was to touch this file (i.e. so it existed, but was empty) -
at which point my script recovered it, then PG ignored it and asked for the
correct backup files, as shown in the log below.

Note I intend to make this script public once testing has been carried out -
if anyone is interested in testing, please let me know.  The "DEBUG" lines
have been generated by my script, not Postgresql.

--- START LOG OUTPUT ---

2006-04-28 16:07:33 BST LOG:  database system was interrupted at 2006-04-19
10:48:50 BST
2006-04-28 16:07:33 BST LOG:  starting archive recovery
2006-04-28 16:07:33 BST LOG:  restore_command =
"/mndata/scripts/wal_log_recovery.sh /mndata/archive/xlog_transfer/%f %p"
DEBUG: Recovering /mndata/archive/xlog_transfer/00000001.history to
pg_xlog/RECOVERYHISTORY
DEBUG: WAL log /mndata/archive/xlog_transfer/00000001.history does not exist
DEBUG: Checking for flag file at /tmp/recoverdb.flag
DEBUG: Flag file does not exist
DEBUG: 30s to wait before next check

--- > I touched the 00000001.history file here < ---

DEBUG: Source file /mndata/archive/xlog_transfer/00000001.history exists
DEBUG: copy command returned: 0
DEBUG: Returning code 0 to PostgreSQL
2006-04-28 16:10:03 BST LOG:  restored log file "00000001.history" from
archive
DEBUG: Recovering
/mndata/archive/xlog_transfer/000000010000000900000009.009FF34C.backup to
pg_xlog/RECOVERYHISTORY
DEBUG: WAL log
/mndata/archive/xlog_transfer/000000010000000900000009.009FF34C.backup does
not exist
DEBUG: Checking for flag file at /tmp/recoverdb.flag
DEBUG: Flag file does not exist
DEBUG: 30s to wait before next check

--- END LOGOUTPUT ---

There was an error during recovering this file:
000000010000000900000009.009FF34C.backup (as for some reason copy returns 0
even when the file has failed to be moved - I'll have to build this check in
myself.)  So PG carried on looking for 000000010000000900000009 instead.

Does Postgres not use the *.history and *.backup files during the recovery -
so it's not going to be harmful to the recovery if these files are empty?

Thanks

Andy





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

Предыдущее
От: "Hogan, James F. Jr."
Дата:
Сообщение: Re: Trouble installing pltcl language
Следующее
От: Scott Marlowe
Дата:
Сообщение: Re: New system recommendations