Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
c25b4dbf
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c25b4dbf
编写于
11月 25, 2000
作者:
P
Peter Eisentraut
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update pg_ctl ref page, help output, messages. Some repair to work better
with current postmaster.
上级
f4710020
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
237 addition
and
273 deletion
+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
未找到文件。
doc/src/sgml/ref/pg_ctl-ref.sgml
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录