aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/client-auth.sgml9
-rw-r--r--doc/src/sgml/ref/pg_ctl-ref.sgml22
-rwxr-xr-xsrc/bin/pg_ctl/pg_ctl.sh27
3 files changed, 42 insertions, 16 deletions
diff --git a/doc/src/sgml/client-auth.sgml b/doc/src/sgml/client-auth.sgml
index 33dba495df8..79d74a83a09 100644
--- a/doc/src/sgml/client-auth.sgml
+++ b/doc/src/sgml/client-auth.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/client-auth.sgml,v 1.20 2001/09/21 20:31:41 tgl Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/client-auth.sgml,v 1.21 2001/09/21 21:10:56 tgl Exp $ -->
<chapter id="client-authentication">
<title>Client Authentication</title>
@@ -333,9 +333,10 @@ hostssl <replaceable>database</replaceable> <replaceable>IP-address</replaceable
<para>
The <filename>pg_hba.conf</filename> file is loaded only on startup
- and when the <application>postmaster</> receives a <systemitem>SIGHUP</systemitem> signal. If
- you edit the file on an active system, you will need to issue a
- <systemitem>SIGHUP</systemitem> to the <application>postmaster</> using <application>kill</>
+ and when the <application>postmaster</> receives a
+ <systemitem>SIGHUP</systemitem> signal. If you edit the file on an
+ active system, you will need to signal the <application>postmaster</>
+ (using <application>pg_ctl reload</> or <application>kill -HUP</>)
to make it re-read the file.
</para>
diff --git a/doc/src/sgml/ref/pg_ctl-ref.sgml b/doc/src/sgml/ref/pg_ctl-ref.sgml
index 84022f9f695..668dd861cab 100644
--- a/doc/src/sgml/ref/pg_ctl-ref.sgml
+++ b/doc/src/sgml/ref/pg_ctl-ref.sgml
@@ -1,5 +1,5 @@
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.8 2001/09/03 12:57:50 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.9 2001/09/21 21:10:56 tgl Exp $
Postgres documentation
-->
@@ -58,6 +58,11 @@ Postgres documentation
<arg>-o <replaceable>options</replaceable></arg>
<sbr>
<command>pg_ctl</command>
+ <arg choice="plain">reload</arg>
+ <arg>-s</arg>
+ <arg>-D <replaceable>datadir</replaceable></arg>
+ <sbr>
+ <command>pg_ctl</command>
<arg choice="plain">status</arg>
<arg>-D <replaceable>datadir</replaceable></arg>
</cmdsynopsis>
@@ -73,7 +78,7 @@ Postgres documentation
the status of a running postmaster. Although the postmaster can be
started manually, <application>pg_ctl</application> encapulates
tasks such as redirecting log output, properly detaching from the
- terminal and process group, and additionally provides an option for
+ terminal and process group, and it provides convenient options for
controlled shut down.
</para>
@@ -93,7 +98,7 @@ Postgres documentation
</para>
<para>
- In <option>stop</option> mode, the postmaster that is running on
+ In <option>stop</option> mode, the postmaster that is running in
the specified data directory is shut down. Three different
shutdown methods can be selected with the <option>-m</option>
option: <quote>Smart</quote> mode waits for all the clients to
@@ -101,7 +106,6 @@ Postgres documentation
not wait for clients to disconnect. All active transactions will
be rolled back. <quote>Immediate</quote> mode will abort without
complete shutdown. This will lead to a recovery run on restart.
- By the default, stop mode waits for the shutdown to complete.
</para>
<para>
@@ -111,6 +115,14 @@ Postgres documentation
</para>
<para>
+ <option>reload</option> mode simply sends the postmaster a SIGHUP signal,
+ causing it to reread its configuration files
+ (<filename>postgresql.conf</filename>, <filename>pg_hba.conf</filename>,
+ etc). This allows changing of configuration-file options that do not
+ require a complete restart to take effect.
+ </para>
+
+ <para>
<option>status</option> mode checks whether a postmaster is running
and if so displays the <acronym>PID</acronym> and the command line
options that were used to invoke it.
@@ -188,7 +200,7 @@ Postgres documentation
<term>-w</term>
<listitem>
<para>
- Wait for the start or stutdown to complete. Times out after
+ Wait for the start or shutdown to complete. Times out after
60 seconds. This is the default for shutdowns.
</para>
</listitem>
diff --git a/src/bin/pg_ctl/pg_ctl.sh b/src/bin/pg_ctl/pg_ctl.sh
index 997e34f6dd9..9bd6fc05cc4 100755
--- a/src/bin/pg_ctl/pg_ctl.sh
+++ b/src/bin/pg_ctl/pg_ctl.sh
@@ -2,26 +2,27 @@
#-------------------------------------------------------------------------
#
# pg_ctl.sh--
-# Start/Stop/Restart/Report status of postmaster
+# Start/Stop/Restart/HUP/Report status of postmaster
#
# Copyright (c) 2001 PostgreSQL Global Development Group
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.23 2001/07/11 19:36:41 momjian Exp $
+# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.24 2001/09/21 21:10:56 tgl Exp $
#
#-------------------------------------------------------------------------
CMDNAME=`basename $0`
help="\
-$CMDNAME is a utility to start, stop, restart, and report the status
-of a PostgreSQL server.
+$CMDNAME is a utility to start, stop, restart, reload configuration files,
+or report the status of a PostgreSQL server.
Usage:
$CMDNAME start [-w] [-D DATADIR] [-s] [-l FILENAME] [-o \"OPTIONS\"]
$CMDNAME stop [-W] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]
$CMDNAME restart [-w] [-D DATADIR] [-s] [-m SHUTDOWN-MODE] [-o \"OPTIONS\"]
+ $CMDNAME reload [-D DATADIR] [-s]
$CMDNAME status [-D DATADIR]
Common options:
@@ -174,6 +175,9 @@ do
restart)
op="restart"
;;
+ reload)
+ op="reload"
+ ;;
status)
op="status"
;;
@@ -224,6 +228,10 @@ case "$shutdown_mode" in
;;
esac
+if [ "$op" = "reload" ];then
+ sig="-HUP"
+ wait=no
+fi
DEFPOSTOPTS=$PGDATA/postmaster.opts.default
POSTOPTSFILE=$PGDATA/postmaster.opts
@@ -247,7 +255,7 @@ if [ "$op" = "status" ];then
fi
fi
-if [ "$op" = "stop" -o "$op" = "restart" ];then
+if [ "$op" = "stop" -o "$op" = "restart" -o "$op" = "reload" ];then
if [ -f $PIDFILE ];then
PID=`sed -n 1p $PIDFILE`
if [ $PID -lt 0 ];then
@@ -281,7 +289,12 @@ if [ "$op" = "stop" -o "$op" = "restart" ];then
done
$silence_echo echo "done"
fi
- $silence_echo echo "postmaster successfully shut down"
+
+ if [ "$op" = "reload" ];then
+ $silence_echo echo "postmaster successfully signaled"
+ else
+ $silence_echo echo "postmaster successfully shut down"
+ fi
else # ! -f $PIDFILE
echo "$CMDNAME: cannot find $PIDFILE" 1>&2
@@ -292,7 +305,7 @@ if [ "$op" = "stop" -o "$op" = "restart" ];then
exit 1
fi
fi
-fi # stop or restart
+fi # stop, restart, reload
if [ "$op" = "start" -o "$op" = "restart" ];then
oldpid=""