I posted to this group before with the same topic but nobody replied.
Please, provide some feedback if you can…
I am running a warm standby server, which executes the following
command in a recovery mode:
*triggered=false*
*while (test ! -f /var/ipsc/WAL/$1 && ! $triggered)*
*do*
* echo waiting for file: $1*
* *
* sleep 30*
* *
* if test -f /var/ipsc/pgsql/trigger*
* then*
* echo --- trigger found ---*
* echo --- exiting recovery mode ---*
* triggered=true*
* fi*
* *
*done*
* *
*if ( ! $triggered)*
*then*
* cp /var/ipsc/WAL/$1 $2*
*else*
* exit 133*
*fi*
Recovery command works just fine restoring data from the WAL files
scp’d from the primary server. While in the recovery mode, when I
create the trigger file breaking the while loop in recovery command,
postgres does not go gently into the active database mode. Here is output:
*waiting for file: 00000001000000000000003A*
*--- trigger found ---*
*--- exiting recovery mode ---*
*FATAL: could not restore file "00000001000000000000003A" from
archive: return code 34048*
*LOG: startup process (PID 13994) exited with exit code 1*
*LOG: aborting startup due to startup process failure*
* *
After finding the trigger file my recovery_cmd returns non-zero code.
Why am I still getting *FATAL: could not restore file *?
Both my primary and standby servers run on Solaris 10 under SMF. When
the standby server is attempting to change mode from recovery to
regular database mode, there might be a race condition there between
SMF trying to restart the server and the server trying to restart
itself… or am I just hallucinating…
Thanks in advance for your comments.
Cheers,
~george