mirror of https://github.com/postgres/postgres
parent
169051afc9
commit
5b912b089c
@ -0,0 +1,28 @@ |
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Makefile.inc--
|
||||
# Makefile for bin/pg_ctl
|
||||
#
|
||||
# Copyright (c) 1999, PostgreSQL Global Development Group
|
||||
#
|
||||
#
|
||||
# IDENTIFICATION
|
||||
# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Makefile,v 1.1 1999/12/06 07:23:41 ishii Exp $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
SRCDIR= ../..
|
||||
include ../../Makefile.global |
||||
|
||||
all: pg_ctl |
||||
|
||||
pg_ctl: pg_ctl.sh |
||||
sed -e 's@__BINDIR__@$(BINDIR)@' pg_ctl.sh > pg_ctl
|
||||
|
||||
install: pg_ctl |
||||
$(INSTALL) $(INSTL_EXE_OPTS) $< $(BINDIR)/$<
|
||||
|
||||
clean: |
||||
rm -f pg_ctl
|
||||
|
||||
dep depend: |
||||
@ -0,0 +1,191 @@ |
||||
#! /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 |
||||
Loading…
Reference in new issue