Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
c25b4dbf
Commit
c25b4dbf
authored
Nov 25, 2000
by
Peter Eisentraut
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update pg_ctl ref page, help output, messages. Some repair to work better
with current postmaster.
parent
f4710020
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
237 additions
and
273 deletions
+237
-273
doc/src/sgml/ref/pg_ctl-ref.sgml
doc/src/sgml/ref/pg_ctl-ref.sgml
+132
-213
src/bin/pg_ctl/Makefile
src/bin/pg_ctl/Makefile
+4
-2
src/bin/pg_ctl/pg_ctl.sh
src/bin/pg_ctl/pg_ctl.sh
+101
-58
No files found.
doc/src/sgml/ref/pg_ctl-ref.sgml
View file @
c25b4dbf
<!--
$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,
a
nd 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>
...
...
src/bin/pg_ctl/Makefile
View file @
c25b4dbf
...
...
@@ -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
...
...
src/bin/pg_ctl/pg_ctl.sh
View file @
c25b4dbf
...
...
@@ -8,14 +8,50 @@
#
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.1
3 2000/10/24 19:11:15
petere Exp $
# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.1
4 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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment