--- /dev/null
+#! /bin/sh
+#-------------------------------------------------------------------------
+#
+# pg_ctl.sh--
+# Start/Stop/Restart/Report status of postmaster
+#
+# Copyright (c) 1999, PostgreSQL Global Development Group
+#
+#
+# IDENTIFICATION
+# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.1 1999/12/06 07:23:41 ishii Exp $
+#
+#-------------------------------------------------------------------------
+CMDNAME=`basename $0`
+
+# set default path to postmaster
+po_path=__BINDIR__/postmaster
+
+# set default shutdown signal
+sig="-TERM"
+
+while [ "$#" -gt 0 ]
+do
+ case $1 in
+ -h|--help)
+ usage=1
+ break
+ ;;
+ -D)
+ shift
+ PGDATA="$1"
+ ;;
+ -p)
+ shift
+ po_path="$1"
+ ;;
+ -m)
+ shift
+ case $1 in
+ f|fast)
+ sig="-INT"
+ ;;
+ i|immediate)
+ sig="-QUIT"
+ ;;
+ *)
+ echo "$CMDNAME: Wrong shutdown mode $sigopt"
+ usage=1
+ ;;
+ esac
+ ;;
+ -w)
+ wait=1
+ ;;
+ -o)
+ shift
+ POSTOPTS="$1"
+ ;;
+ start)
+ op="start"
+ ;;
+ stop)
+ op="stop"
+ ;;
+ restart)
+ op="restart"
+ ;;
+ status)
+ op="status"
+ ;;
+ *)
+ usage=1
+ break
+ ;;
+ esac
+ shift
+done
+
+if [ "$usage" = 1 -o "$op" = "" ];then
+ echo "Usage: $CMDNAME [-w][-D database_dir][-p path_to_postmaster][-o \"postmaster_opts\"] start"
+ echo " $CMDNAME [-w][-D database_dir][-m s[mart]|f[ast]|i[mmediate]] stop"
+ echo " $CMDNAME [-w][-D database_dir][-m s[mart]|f[ast]|i[mmediate]][-o \"postmaster_opts\"] restart"
+ echo " $CMDNAME [-D database_dir] status"
+ exit 1
+fi
+
+if [ -z "$PGDATA" ];then
+ echo "$CMDNAME: No database directory or environment variable \$PGDATA is specified"
+ exit 1
+fi
+
+DEFPOSTOPTS=$PGDATA/postmaster.opts.default
+POSTOPTSFILE=$PGDATA/postmaster.opts
+PIDFILE=$PGDATA/postmaster.pid
+
+if [ $op = "status" ];then
+ if [ -f $PIDFILE ];then
+ echo "$CMDNAME: postmaster is running (pid: `cat $PIDFILE`)"
+ echo "options are:"
+ echo "`cat $POSTOPTSFILE`"
+ exit 0
+ else
+ echo "$CMDNAME: postmaster is not running"
+ exit 1
+ fi
+fi
+
+if [ $op = "stop" -o $op = "restart" ];then
+ if [ -f $PIDFILE ];then
+ kill $sig `cat $PIDFILE`
+
+ # wait for postmaster shutting down
+ if [ "$wait" = 1 -o $op = "restart" ];then
+ cnt=0
+ echo -n "Waiting for postmaster shutting down.."
+
+ while :
+ do
+ if [ -f $PIDFILE ];then
+ echo -n "."
+ cnt=`expr $cnt + 1`
+ if [ $cnt -gt 60 ];then
+ echo "$CMDNAME: postmaster does not shut down"
+ exit 1
+ fi
+ else
+ break
+ fi
+ sleep 1
+ done
+ echo "done."
+ fi
+
+ else
+ echo "$CMDNAME: Can't find $PIDFILE."
+ echo "Is postmaster running?"
+ if [ $op = "restart" ];then
+ echo "Anyway, I'm going to start up postmaster..."
+ else
+ exit 1
+ fi
+ fi
+fi
+
+if [ $op = "start" -o $op = "restart" ];then
+ if [ -f $PIDFILE ];then
+ echo "$CMDNAME: It seems another postmaster is running. Try to start postmaster anyway."
+ pid=`cat $PIDFILE`
+ fi
+
+ if [ -z "$POSTOPTS" ];then
+ if [ -f $DEFPOSTOPTS ];then
+ eval `cat $DEFPOSTOPTS` &
+ else
+ echo "$CMDNAME: Can't find $DEFPOSTOPTS"
+ exit 1
+ fi
+ else
+ $po_path $POSTOPTS &
+ fi
+
+ if [ -f $PIDFILE ];then
+ if [ "`cat $PIDFILE`" = "$pid" ];then
+ echo "$CMDNAME: Cannot start postmaster. Is another postmaster is running?"
+ exit 1
+ fi
+ fi
+
+ # wait for postmaster starting up
+ if [ "$wait" = 1 ];then
+ cnt=0
+ echo -n "Waiting for postmaster starting up.."
+ while :
+ do
+ if [ ! -f $PIDFILE ];then
+ echo -n "."
+ cnt=`expr $cnt + 1`
+ if [ $cnt -gt 60 ];then
+ echo "$CMDNAME: postmaster does not start up"
+ exit 1
+ fi
+ sleep 1
+ else
+ break
+ fi
+ done
+ echo "done."
+ fi
+fi
+
+exit 0