From c25b4dbf03a9b9e5bf79f2f7e2bcdcd9dc6263b9 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut <peter_e@gmx.net> Date: Sat, 25 Nov 2000 17:17:30 +0000 Subject: [PATCH] Update pg_ctl ref page, help output, messages. Some repair to work better with current postmaster. --- doc/src/sgml/ref/pg_ctl-ref.sgml | 345 ++++++++++++------------------- src/bin/pg_ctl/Makefile | 6 +- src/bin/pg_ctl/pg_ctl.sh | 159 ++++++++------ 3 files changed, 237 insertions(+), 273 deletions(-) diff --git a/doc/src/sgml/ref/pg_ctl-ref.sgml b/doc/src/sgml/ref/pg_ctl-ref.sgml index 4fc37312eaf..8d7e3eac139 100644 --- a/doc/src/sgml/ref/pg_ctl-ref.sgml +++ b/doc/src/sgml/ref/pg_ctl-ref.sgml @@ -1,42 +1,76 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.3 2000/10/12 22:13:21 momjian Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.4 2000/11/25 17:17:30 petere Exp $ Postgres documentation --> <refentry id="app-pg-ctl"> + <docinfo> + <date>2000-11-25</date> + </docinfo> + <refmeta> - <refentrytitle id="app-pg-ctl-title"> - <application>pg_ctl</application> - </refentrytitle> + <refentrytitle id="app-pg-ctl-title"><application>pg_ctl</application></refentrytitle> + <manvolnum>1</manvolnum> <refmiscinfo>Application</refmiscinfo> </refmeta> <refnamediv> - <refname> - <application>pg_ctl</application> - </refname> - <refpurpose> - Starts, stops, and restarts postmaster - </refpurpose> + <refname>pg_ctl</refname> + <refpurpose>Starts, stops, or restarts postmaster</refpurpose> </refnamediv> <refsynopsisdiv> - <refsynopsisdivinfo> - <date>2000-04-05</date> - </refsynopsisdivinfo> - - <synopsis> -pg_ctl [-w] [-D <replaceable class="parameter">datadir</replaceable>][-p <replaceable class="parameter">path</replaceable>] [-o "<replaceable class="parameter">options</replaceable>"] start -pg_ctl [-w] [-D <replaceable class="parameter">datadir</replaceable>] [-m [s[mart]|f[ast]|i[mmediate]]] stop -pg_ctl [-w] [-D <replaceable class="parameter">datadir</replaceable>] [-m [s[mart]|f[ast]|i[mmediate]] - [-o "<replaceable class="parameter">options</replaceable>"] restart -pg_ctl [-D <replaceable class="parameter">datadir</replaceable>] status - </synopsis> - - <refsect2 id="R2-APP-PGCTL-1"> - <title> - Inputs - </title> + <cmdsynopsis> + <command>pg_ctl</command> + <arg choice="plain">start</arg> + <arg>-w</arg> + <arg>-D <replaceable>datadir</replaceable></arg> + <arg>-p <replaceable>path</replaceable></arg> + <arg>-o <replaceable>options</replaceable></arg> + <sbr> + <command>pg_ctl</command> + <arg choice="plain">stop</arg> + <arg>-w</arg> + <arg>-D <replaceable>datadir</replaceable></arg> + <arg>-m + <group choice="plain"> + <arg>s[mart]</arg> + <arg>f[ast]</arg> + <arg>i[mmediate]</arg> + </group> + </arg> + <sbr> + <command>pg_ctl</command> + <arg choice="plain">restart</arg> + <arg>-w</arg> + <arg>-D <replaceable>datadir</replaceable></arg> + <arg>-m + <group choice="plain"> + <arg>s[mart]</arg> + <arg>f[ast]</arg> + <arg>i[mmediate]</arg> + </group> + </arg> + <arg>-o <replaceable>options</replaceable></arg> + <sbr> + <command>pg_ctl</command> + <arg choice="plain">status</arg> + <arg>-D <replaceable>datadir</replaceable></arg> + </cmdsynopsis> + </refsynopsisdiv> + + + <refsect1 id="app-pg-ctl-description"> + <title>Description</title> + <para> + <application>pg_ctl</application> is a utility for starting, + stopping, or restarting the <xref linkend="app-postmaster" + endterm="app-postmaster-title">, or displaying the status of a + running postmaster. + </para> + + <refsect2 id="app-pg-ctl-options"> + <title>Options</title> <para> <variablelist> @@ -44,8 +78,9 @@ pg_ctl [-D <replaceable class="parameter">datadir</replaceable>] status <term>-w</term> <listitem> <para> - Wait for the database server to come up, by - watching for creation of the pid file (PGDATA/postmaster.pid). + Wait for the database server to come up, by watching for + creation of the pid file + (<filename><replaceable>PGDATA</replaceable>/postmaster.pid</filename>). Times out after 60 seconds. </para> </listitem> @@ -55,7 +90,9 @@ pg_ctl [-D <replaceable class="parameter">datadir</replaceable>] status <term>-D <replaceable class="parameter">datadir</replaceable></term> <listitem> <para> - Specifies the database location for this database installation. + Specifies the file system location of the database files. If + this is omitted, the environment variable + <envar>PGDATA</envar> is used. </para> </listitem> </varlistentry> @@ -64,13 +101,18 @@ pg_ctl [-D <replaceable class="parameter">datadir</replaceable>] status <term>-p <replaceable class="parameter">path</replaceable></term> <listitem> <para> - Specifies the path to the postmaster image. + Specifies the location of the <filename>postmaster</filename> + executable. By default the postmaster is taken from the same + directory as pg_ctl, or failing that, the hard-wired + installation directory. It is not necessary to use this + option unless you are doing something unusual and get errors + that the postmaster was not found. </para> </listitem> </varlistentry> <varlistentry> - <term>-o "<replaceable class="parameter">options</replaceable>"</term> + <term>-o <replaceable class="parameter">options</replaceable></term> <listitem> <para> Specifies options to be passed directly to @@ -95,8 +137,8 @@ pg_ctl [-D <replaceable class="parameter">datadir</replaceable>] status <term>s</term> <listitem> <para> - smart mode waits for all - the clients to logout. This is the default. + Smart mode waits for all the clients to disconnect. This + is the default. </para> </listitem> </varlistentry> @@ -106,8 +148,8 @@ pg_ctl [-D <replaceable class="parameter">datadir</replaceable>] status <term>f</term> <listitem> <para> - Fast mode sends SIGTERM to the backends; that means - active transactions get rolled back. + Fast mode does not wait for clients to disconnect. All + active transactions will be rolled back. </para> </listitem> </varlistentry> @@ -117,9 +159,8 @@ pg_ctl [-D <replaceable class="parameter">datadir</replaceable>] status <term>i</term> <listitem> <para> - Immediate mode sends SIGUSR1 - to the backends and lets them abort. In this case, database recovery - will be necessary on the next start-up. + Immediate mode will abort without complete shutdown. This + will lead to a recovery run on restart. </para> </listitem> </varlistentry> @@ -150,8 +191,8 @@ pg_ctl [-D <replaceable class="parameter">datadir</replaceable>] status <term>restart</term> <listitem> <para> - Restart the <application>postmaster</application>, performing - a stop/start sequence. + Stop the <application>postmaster</application>, if one is running, + and then start it again. </para> </listitem> </varlistentry> @@ -168,229 +209,107 @@ pg_ctl [-D <replaceable class="parameter">datadir</replaceable>] status </para> </refsect2> - <refsect2 id="R2-APP-PGCTL-2"> - <refsect2info> - <date>1999-11-07</date> - </refsect2info> - <title> - Outputs - </title> - <para> - <variablelist> - <varlistentry> - <term><computeroutput>pg_ctl: postmaster is <replaceable>state</replaceable> (pid: <replaceable>#</replaceable>)</computeroutput></term> - <listitem> - <para> - Postmaster status. - </para> - </listitem> - </varlistentry> - </variablelist> + <refsect2> + <title>Files</title> - If there is an error condition, the backend error message will be displayed. + <para> + If the file <filename>postmaster.opts.default</filename> exists in + the data directory, the contents of the file will be passed as + options to the <application>postmaster</application>, unless + overridden by the <option>-o</option> option. </para> </refsect2> - </refsynopsisdiv> - <refsect1 id="R1-APP-PGCTL-1"> - <title> - Description - </title> - <para> - <application>pg_ctl</application> is a utility for starting, - stopping or restarting <application>postmaster</application>. - </para> </refsect1> + <refsect1 id="R1-APP-PGCTL-2"> - <title> - Usage - </title> + <title>Usage</title> <refsect2 id="R2-APP-PGCTL-3"> - <title> - Starting postmaster - </title> + <title>Starting the postmaster</title> <para> To start up <application>postmaster</application>: - - <programlisting> -$ pg_ctl start - </programlisting> +<screen> +<prompt>$</prompt> <userinput>pg_ctl start</userinput> +</screen> </para> <para> - If -w is supplied, pg_ctl waits for the database server to come up, by - watching for creation of the pid file (PGDATA/postmaster.pid), for up - to 60 seconds. - </para> - - <para> - Parameters to invoke <application>postmaster</application> are - taken from the following sources: - - <itemizedlist> - <listitem> - <para> - Path to postmaster: found in the command search path. - </para> - </listitem> - - <listitem> - <para> - Database directory: <envar>PGDATA</envar> environment variable. - </para> - </listitem> - - <listitem> - <para> - Other parameters: - <filename><envar>PGDATA</envar>/postmaster.opts.default</filename>. - </para> - </listitem> - </itemizedlist> - </para> - - <para> - <filename>postmaster.opts.default</filename> contains parameters - for <application>postmaster</application>. - </para> - - <para> - Note that <filename>postmaster.opts.default</filename> is - installed by <application>initdb</application> from - <filename>lib/postmaster.opts.default.sample</filename> - under the <productname>Postgres</productname> installation - directory (<filename>lib/postmaster.opts.default.sample</filename> - is copied from - <filename>src/bin/pg_ctl/postmaster.opts.default.sample</filename> - while installing <productname>Postgres</productname>). - </para> - - <para> - To override the default parameters you can use <option>-D</option>, - <option>-p</option> and <option>-o</option> options. - </para> - - <para> - An example of starting the - <application>postmaster</application>, blocking until - postmaster comes up is: - <programlisting> -$ pg_ctl -w start - </programlisting> - </para> - - <para> - To specify the <application>postmaster</application> binary path, - try: - - <programlisting> -$ pg_ctl -p /usr/local/pgsql/bin/postmaster start - </programlisting> + An example of starting the <application>postmaster</application>, + blocking until postmaster comes up is: +<screen> +<prompt>$</prompt> <userinput>pg_ctl -w start</userinput> +</screen> </para> <para> For a <application>postmaster</application> using port 5433, and running without <function>fsync</function>, use: - - <programlisting> -$ pg_ctl -o "-o -F -p 5433" start - </programlisting> +<screen> +<prompt>$</prompt> <userinput>pg_ctl -o "-F -p 5433" start</userinput> +</screen> </para> </refsect2> <refsect2 id="R2-APP-PGCTL-4"> - <title> - Stopping postmaster - </title> + <title>Stopping the postmaster</title> <para> - - <programlisting> -$ pg_ctl stop - </programlisting> - +<screen> +<prompt>$</prompt> <userinput>pg_ctl stop</userinput> +</screen> stops postmaster. Using the <option>-m</option> switch allows one to control <emphasis>how</emphasis> the backend shuts down. - <option>-w</option> - waits for postmaster to shut down. - <option>-m</option> specifies the shut down mode. + <option>-w</option> waits for postmaster to shut down. </para> </refsect2> <refsect2 id="R2-APP-PGCTL-5"> - <title> - Restarting postmaster - </title> + <title>Restarting the postmaster</title> <para> This is almost equivalent to stopping the - <application>postmaster</application> then starting it - again except that the parameters used before stopping - it would be used too. This is done by saving them in - $<envar>PGDATA</envar>/postmaster.opts file. - <option>-w</option>, <option>-D</option>, <option>-m</option>, - <option>-fast</option>, <option>-immediate</option> and - <option>-o</option> - can also be used in the restarting mode and they have the same meanings as - described above. - </para> - - <para> - To restart <application>postmaster</application> in the simplest - form: - - <programlisting> -$ pg_ctl restart - </programlisting> + <application>postmaster</application> then starting it again + except that pg_ctl saves and reuses the command line options that + were passed to the previously running instance. To restart + <application>postmaster</application> in the simplest form: +<screen> +<prompt>$</prompt> <userinput>pg_ctl restart</userinput> +</screen> </para> <para> To restart <application>postmaster</application>, waiting for it to shut down and to come up: - - <programlisting> -$ pg_ctl -w restart - </programlisting> +<screen> +<prompt>$</prompt> <userinput>pg_ctl -w restart</userinput> +</screen> </para> <para> To restart using port 5433 and disabling fsync after restarting: - - <programlisting> -$ pg_ctl -o "-o -F -p 5433" restart - </programlisting> +<screen> +<prompt>$</prompt> <userinput>pg_ctl -o "-F -p 5433" restart</userinput> +</screen> </para> </refsect2> <refsect2 id="R2-APP-PGCTL-6"> - <title> - postmaster status - </title> + <title>Showing postmaster status</title> <para> - To get status information from postmaster: - - <programlisting> -$ pg_ctl status - </programlisting> - </para> - - <para> - Here is a sample output from <application>pg_ctl</application>: - - <programlisting> + Here is a sample status output from + <application>pg_ctl</application>: +<screen> +<prompt>$</prompt> <userinput>pg_ctl status</userinput> +<computeroutput> pg_ctl: postmaster is running (pid: 13718) -options are: -/usr/local/src/pgsql/current/bin/postmaster --p 5433 --D /usr/local/src/pgsql/current/data --B 64 --b /usr/local/src/pgsql/current/bin/postgres --N 32 --o '-F' - </programlisting> +Command line was: +/usr/local/pgsql/bin/postmaster '-D' '/usr/local/pgsql/data' '-p' '5433' '-B' '128' +</computeroutput> +</screen> + This is the command line that would be invoked in restart mode. </para> </refsect2> </refsect1> diff --git a/src/bin/pg_ctl/Makefile b/src/bin/pg_ctl/Makefile index 716d93cea2b..fb4234dcc84 100644 --- a/src/bin/pg_ctl/Makefile +++ b/src/bin/pg_ctl/Makefile @@ -4,7 +4,7 @@ # # Copyright (c) 1999, PostgreSQL Global Development Group # -# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Makefile,v 1.9 2000/09/17 13:02:35 petere Exp $ +# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Makefile,v 1.10 2000/11/25 17:17:30 petere Exp $ # #------------------------------------------------------------------------- @@ -15,7 +15,9 @@ include $(top_builddir)/src/Makefile.global all: pg_ctl pg_ctl: pg_ctl.sh - cp $< $@ + sed -e 's/@VERSION@/$(VERSION)/g' \ + -e 's,@bindir@,$(bindir),g' \ + $< >$@ chmod a+x $@ install: all installdirs diff --git a/src/bin/pg_ctl/pg_ctl.sh b/src/bin/pg_ctl/pg_ctl.sh index 2c98f41ecdb..aea4a986909 100755 --- a/src/bin/pg_ctl/pg_ctl.sh +++ b/src/bin/pg_ctl/pg_ctl.sh @@ -8,14 +8,50 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.13 2000/10/24 19:11:15 petere Exp $ +# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.14 2000/11/25 17:17:30 petere Exp $ # #------------------------------------------------------------------------- + CMDNAME=`basename $0` +help="\ +$CMDNAME is a utility to start, stop, restart, and report the status +of a PostgreSQL server. + +Usage: + $CMDNAME start [-w] [-D DATADIR] [-p PATH-TO-POSTMASTER] [-o \"OPTIONS\"] + $CMDNAME stop [-w] [-D DATADIR] [-m SHUTDOWN-MODE] + $CMDNAME restart [-w] [-D DATADIR] [-m SHUTDOWN-MODE] [-o \"OPTIONS\"] + $CMDNAME status [-D DATADIR] + +Options: + -D DATADIR Location of the database storage area + -m SHUTDOWN-MODE May be 'smart', 'fast', or 'immediate' + -o OPTIONS Command line options to pass to the postmaster + (PostgreSQL server executable) + -p PATH-TO-POSTMASTER Normally not necessary + -w Wait until operation completes + +If the -D option is omitted, the environment variable PGDATA is used. + +Shutdown modes are: + smart Quit after all clients have disconnected + fast Quit directly, with proper shutdown + immediate Quit without complete shutdown; will lead + to recovery run on restart + +Report bugs to <pgsql-bugs@postgresql.org>." + +advice="\ +Try '$CMDNAME --help' for more information." + + +# Placed here during build +bindir='@bindir@' +VERSION='@VERSION@' + # Check for echo -n vs echo \c -ECHO=echo if echo '\c' | grep -s c >/dev/null 2>&1 then ECHO_N="echo -n" @@ -28,38 +64,35 @@ fi # # Find out where we're located # -if $ECHO "$0" | grep '/' > /dev/null 2>&1 +if echo "$0" | grep '/' > /dev/null 2>&1 then # explicit dir name given - PGPATH=`$ECHO $0 | sed 's,/[^/]*$,,'` # (dirname command is not portable) + self_path=`echo $0 | sed 's,/[^/]*$,,'` # (dirname command is not portable) else # look for it in PATH ('which' command is not portable) - for dir in `$ECHO "$PATH" | sed 's/:/ /g'` + for dir in `echo "$PATH" | sed 's/:/ /g'` do # empty entry in path means current dir [ -z "$dir" ] && dir='.' if [ -f "$dir/$CMDNAME" ] then - PGPATH="$dir" + self_path="$dir" break fi done fi # Check if needed programs actually exist in path -for prog in postmaster psql -do - if [ ! -x "$PGPATH/$prog" ] - then - $ECHO "The program $prog needed by $CMDNAME could not be found. It was" - $ECHO "expected at:" - $ECHO " $PGPATH/$prog" - $ECHO "If this is not the correct directory, please start $CMDNAME" - $ECHO "with a full search path. Otherwise make sure that the program" - $ECHO "was installed successfully." - exit 1 - fi -done +if [ -x "$self_path/postmaster" ] && [ -x "$self_path/psql" ]; then + PGPATH=$self_path +elif [ -x "$bindir/postmaster" ] && [ -x "$bindir/psql" ]; then + PGPATH=$bindir +else + echo "The programs 'postmaster' and 'psql' are needed by $CMDNAME but" 1>&2 + echo "were not found in the directory '$bindir'." 1>&2 + echo "Check your installation." 1>&2 + exit 1 +fi po_path=$PGPATH/postmaster @@ -69,14 +102,17 @@ sig="-TERM" while [ "$#" -gt 0 ] do case $1 in - -h|--help) - usage=1 - break - ;; + -h|--help|-\?) + echo "$help" + exit 0 + ;; + -V|--version) + echo "pg_ctl (PostgreSQL) $VERSION" + exit 0 + ;; -D) shift PGDATA="$1" - export PGDATA ;; -p) shift @@ -94,8 +130,9 @@ do sig="-QUIT" ;; *) - $ECHO "$CMDNAME: Wrong shutdown mode $sigopt" - usage=1 + echo "$CMDNAME: wrong shutdown mode: $1" 1>&2 + echo "$advice" 1>&2 + exit 1 ;; esac ;; @@ -106,6 +143,11 @@ do shift POSTOPTS="$1" ;; + -*) + echo "$CMDNAME: invalid option: $1" 1>&2 + echo "$advice" 1>&2 + exit 1 + ;; start) op="start" ;; @@ -119,23 +161,23 @@ do op="status" ;; *) - usage=1 - break + echo "$CMDNAME: invalid operation mode: $1" 1>&2 + echo "$advice" 1>&2 + exit 1 ;; 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" +if [ x"$op" = x"" ];then + echo "$CMDNAME: no operation mode specified" 1>&2 + echo "$advice" 1>&2 exit 1 fi if [ -z "$PGDATA" ];then - $ECHO "$CMDNAME: No database directory or environment variable \$PGDATA is specified" + echo "$CMDNAME: no database directory or environment variable \$PGDATA is specified" 1>&2 + echo "$advice" 1>&2 exit 1 fi @@ -148,15 +190,15 @@ if [ $op = "status" ];then PID=`cat $PIDFILE` if [ $PID -lt 0 ];then PID=`expr 0 - $PID` - $ECHO "$CMDNAME: postgres is running (pid: $PID)" + echo "$CMDNAME: postgres is running (pid: $PID)" else - $ECHO "$CMDNAME: postmaster is running (pid: $PID)" - $ECHO "options are:" - $ECHO "`cat $POSTOPTSFILE`" + echo "$CMDNAME: postmaster is running (pid: $PID)" + echo "Command line was:" + echo "`cat $POSTOPTSFILE`" fi exit 0 else - $ECHO "$CMDNAME: postmaster or postgres is not running" + echo "$CMDNAME: postmaster or postgres is not running" exit 1 fi fi @@ -166,8 +208,8 @@ if [ $op = "stop" -o $op = "restart" ];then PID=`cat $PIDFILE` if [ $PID -lt 0 ];then PID=`expr 0 - $PID` - $ECHO "$CMDNAME: Cannot restart postmaster. postgres is running (pid: $PID)" - $ECHO "Please terminate postgres and try again" + echo "$CMDNAME: Cannot restart postmaster. postgres is running (pid: $PID)" + echo "Please terminate postgres and try again" exit 1 fi @@ -176,7 +218,7 @@ if [ $op = "stop" -o $op = "restart" ];then # wait for postmaster shutting down if [ "$wait" = 1 -o $op = "restart" ];then cnt=0 - $ECHO_N "Waiting for postmaster shutting down.."$ECHO_C + $ECHO_N "Waiting for postmaster to shut down.."$ECHO_C while : do @@ -184,7 +226,7 @@ if [ $op = "stop" -o $op = "restart" ];then $ECHO_N "."$ECHO_C cnt=`expr $cnt + 1` if [ $cnt -gt 60 ];then - $ECHO "$CMDNAME: postmaster does not shut down" + echo "$CMDNAME: postmaster does not shut down" exit 1 fi else @@ -192,16 +234,16 @@ if [ $op = "stop" -o $op = "restart" ];then fi sleep 1 done - $ECHO "done." + echo "done" fi - $ECHO "postmaster successfully shut down." + echo "postmaster successfully shut down" else - $ECHO "$CMDNAME: Can't find $PIDFILE." - $ECHO "Is postmaster running?" + echo "$CMDNAME: cannot find $PIDFILE" + echo "Is postmaster running?" if [ $op = "restart" ];then - $ECHO "Anyway, I'm going to start up postmaster..." + echo "starting postmaster anyway..." else exit 1 fi @@ -210,7 +252,7 @@ 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." + echo "$CMDNAME: It seems another postmaster is running. Trying to start postmaster anyway." pid=`cat $PIDFILE` fi @@ -219,21 +261,22 @@ if [ $op = "start" -o $op = "restart" ];then if [ $op = "start" ];then # if we are in start mode, then look for postmaster.opts.default if [ -f $DEFPOSTOPTS ];then - eval "$po_path `cat $DEFPOSTOPTS`" & + $po_path -D $PGDATA `cat $DEFPOSTOPTS` & else - $po_path & + $po_path -D $PGDATA & fi else # if we are in restart mode, then look postmaster.opts - eval `cat $POSTOPTSFILE` & + `cat $POSTOPTSFILE` & fi else - eval "$po_path $POSTOPTS " & + # -o given + $po_path -D $PGDATA $POSTOPTS & fi if [ -f $PIDFILE ];then if [ "`cat $PIDFILE`" = "$pid" ];then - $ECHO "$CMDNAME: Cannot start postmaster. Is another postmaster is running?" + echo "$CMDNAME: Cannot start postmaster. Is another postmaster is running?" exit 1 fi fi @@ -241,7 +284,7 @@ if [ $op = "start" -o $op = "restart" ];then # wait for postmaster starting up if [ "$wait" = 1 ];then cnt=0 - $ECHO_N "Waiting for postmaster starting up.."$ECHO_C + $ECHO_N "Waiting for postmaster to start up.."$ECHO_C while : do if psql -l >/dev/null 2>&1 @@ -251,16 +294,16 @@ if [ $op = "start" -o $op = "restart" ];then $ECHO_N "."$ECHO_C cnt=`expr $cnt + 1` if [ $cnt -gt 60 ];then - $ECHO "$CMDNAME: postmaster does not start up" + echo "$CMDNAME: postmaster does not start up" exit 1 fi sleep 1 fi done - $ECHO "done." + echo "done" fi - $ECHO "postmaster successfully started up." + echo "postmaster successfully started up" fi exit 0 -- GitLab