Thread: PITR wrm-standby startup fails

PITR wrm-standby startup fails

From
Bob Lunney
Date:
I'm trying to vet the PITR/warm-standby process so set up a primary and secondary server on two different Windows
machines. (Yeah, I know, but I don't have a choice in the matter.) 

The primary works fine and copies its WAL files to the archive directory.  As long as the secondary is in recovery mode
lifeis good.  When I introduce the trigger file, however, to kick the secondary out of recovery mode it bombs,
complainingthat its looking for the next WAL file (which is never going to arrive, especially not in the local pg_xlog
directory),then gives me an "invalid parameter" error.  The relevent part of the secondary's log file is here: 

2008-08-24 23:02:56 CDT LOG:  restored log file "000000010000000400000088" from archive
2008-08-24 23:03:01 CDT LOG:  restored log file "000000010000000400000089" from archive
2008-08-24 23:03:06 CDT LOG:  restored log file "00000001000000040000008A" from archive
2008-08-24 23:07:02 CDT LOG:  could not open file "pg_xlog/00000001000000040000008B" (log file 4, segment 139): No such
fileor directory 
2008-08-24 23:07:05 CDT LOG:  startup process (PID 1468) was terminated by exception 0xC000000D
2008-08-24 23:07:05 CDT HINT:  See C include file "ntstatus.h" for a description of the hexadecimal value.
2008-08-24 23:07:05 CDT LOG:  aborting startup due to startup process failure

My recovery command is:

restore_command = '..\bin\pg_standby -d -s 5 -t .\pgsql.trigger.5442 ..\data\archive %f %p %r 2>>pg_log\standby.log'


I found this on the forums.  Could it be the source of the problem I'm experiencing?

Thanks in advance for the wizardly advice!

Bob Lunney





Re: PITR wrm-standby startup fails

From
Simon Riggs
Date:
On Sun, 2008-08-24 at 22:17 -0700, Bob Lunney wrote:
> I'm trying to vet the PITR/warm-standby process so set up a primary
> and secondary server on two different Windows machines.  (Yeah, I
> know, but I don't have a choice in the matter.)
>
> The primary works fine and copies its WAL files to the archive
> directory.  As long as the secondary is in recovery mode life is good.
> When I introduce the trigger file, however, to kick the secondary out
> of recovery mode it bombs, complaining that its looking for the next
> WAL file (which is never going to arrive, especially not in the local
> pg_xlog directory), then gives me an "invalid parameter" error.  The
> relevent part of the secondary's log file is here:
>
> 2008-08-24 23:02:56 CDT LOG:  restored log file
> "000000010000000400000088" from archive
> 2008-08-24 23:03:01 CDT LOG:  restored log file
> "000000010000000400000089" from archive
> 2008-08-24 23:03:06 CDT LOG:  restored log file
> "00000001000000040000008A" from archive
> 2008-08-24 23:07:02 CDT LOG:  could not open file
> "pg_xlog/00000001000000040000008B" (log file 4, segment 139): No such
> file or directory
> 2008-08-24 23:07:05 CDT LOG:  startup process (PID 1468) was
> terminated by exception 0xC000000D
> 2008-08-24 23:07:05 CDT HINT:  See C include file "ntstatus.h" for a
> description of the hexadecimal value.
> 2008-08-24 23:07:05 CDT LOG:  aborting startup due to startup process
> failure
>
> My recovery command is:
>
> restore_command = '..\bin\pg_standby -d -s 5
> -t .\pgsql.trigger.5442 ..\data\archive %f %p %r 2>>pg_log
> \standby.log'
>
>
> I found this on the forums.  Could it be the source of the problem I'm
> experiencing?

The way you are using this looks correct.

The startup process would not/should not fail in this way and there
should be additional messages between the log entries from 23:03 to
23:07. I don't see any reason for a 4 minute wait at that point,
especially since previous files took 5 seconds. Are you showing us the
whole log?

Please re-run this at DEBUG3 so we can see what else is happening.

--
 Simon Riggs           www.2ndQuadrant.com
 PostgreSQL Training, Services and Support