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 |