Re: restore_command is not running on my standby - Mailing list pgsql-general

From Fujii Masao
Subject Re: restore_command is not running on my standby
Date
Msg-id CAHGQGwFPjcUPjjneDvs_7hHv5KivFvY4VEwgjwYKBOBHB6JqFw@mail.gmail.com
Whole thread Raw
In response to restore_command is not running on my standby  (Joseph Shraibman <jks@selectacast.net>)
List pgsql-general
On Wed, Mar 14, 2012 at 11:07 AM, Joseph Shraibman <jks@selectacast.net> wrote:
> I have twice set up pg hot standbys ala the docs at
> http://www.postgresql.org/docs/9.1/interactive/hot-standby.html
>
> The third time I'm trying this I'm running into trouble.  The first two
> times were with actual servers.  This time I'm trying to set up two pg
> instances on my desktop for testing.
>
> First I create the secondary:
>
> [jks@jks-desktop ~/work/pgmon]{f15}$ time pg_basebackup -D repl-db -P -h
> localhost -U replicator
> 59303/59303 kB (100%), 1/1 tablespace
> NOTICE:  pg_stop_backup complete, all required WAL segments have been
> archived
>
> real    0m1.725s
> user    0m0.061s
> sys     0m0.265s
>
> Then I copy in recovery.conf and the replacement postgresql.conf and try to
> start up.  I get:
>
>
> LOG:  database system was interrupted; last known up at 2012-03-13 21:29:32
> EDT
> LOG:  could not open file "pg_xlog/00000001000000000000003D" (log file 0,
> segment 61): No such file or directory
> LOG:  invalid checkpoint record
> FATAL:  could not locate required checkpoint record
> HINT:  If you are not restoring from a backup, try removing the file
> "/home/jks/work/pgmon/repl-db/backup_label".
> LOG:  startup process (PID 28220) exited with exit code 1
> LOG:  aborting startup due to startup process failure
>
> Now the file 00000001000000000000003D does exist in the archive directory,
> but it appears that restore_command is not being run. Originally it was:
> 'cp /home/jks/work/pgmon/wal_drop/%f %p'
>
> Then I changed it to:
>
> restore_command = 'echo f %f p %p >> /tmp/rc.log ; cp
> /home/jks/work/pgmon/wal_drop/%f %p'
>
> /tmp/rc.log was never created, so I assume the whole thing isn't being run
> for some reason.  Any clues where I should look?

Confirm that recovery.conf is properly located under the data directory.
If recovery.conf is located properly and standby_mode is enabled there,
you should get the following log message at the start of recovery:

    LOG:  entering standby mode

But you didn't get such message. So I guess that PostgreSQL failed to read
recovery.conf and could not run restore_command because of wrong location
of recovery.conf.

Regards,

--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

pgsql-general by date:

Previous
From: Joseph Shraibman
Date:
Subject: restore_command is not running on my standby
Next
From: Carson Gross
Date:
Subject: Re: Upgrade questions