Hello!
Our check procedure on TRU64 UNIX is:
checkmasterdaemon if [ $? -eq 1 ]; then # Try to connect to postgres by selecting tables TABELLEN=`/pg/postgresql-7.4.3/bin/psql -h postgres -c 'select datname from pg_database' postgres postgres 2>/dev/null` if [[ "X$TABELLEN" = "X" ]];then echo "check failed for postmaster" exit 1 else # echo "postmaster is running" fi else echo "check failed for postmaster" exit 1 fi
where :
checkmasterdaemon () { MASTER_PID=$(getmasterpid)
if [ "X$MASTER_PID" = "X" ]; then #echo "Postmaster is not running" ret=0 else PS_OUT=`ps -o comm,pid -p "${MASTER_PID}"` PID=`echo $PS_OUT | awk '/postgres/ {print $4}'` #echo $PID if [ "X$MASTER_PID" != "X$PID" ] then #echo "Postmaster (${MASTER_PID}) does not exist (any more)" ret=0 else ret=1 fi fi return $ret }
getmasterpid () { if [[ -r ${PIDFILE} ]] then MASTER_PID=`head -n 1 ${PIDFILE}` echo $MASTER_PID else echo "" fi }
--
Mit freundlichen Gruessen / With best regards Reiner Dassing
---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend