Add 'reload' option to pg_ctl to send SIGHUP to the postmaster.

This commit is contained in:
Tom Lane 2001-09-21 21:10:56 +00:00
parent c1c888a9de
commit 196700c372
3 changed files with 42 additions and 16 deletions

View File

@ -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>

View File

@ -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>
@ -110,6 +114,14 @@ Postgres documentation
options.
</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
@ -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>

View File

@ -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=""