Add pg_ctl -t/timeout parameter to control amount of time to wait for
authorBruce Momjian <bruce@momjian.us>
Sat, 10 Nov 2007 21:48:51 +0000 (21:48 +0000)
committerBruce Momjian <bruce@momjian.us>
Sat, 10 Nov 2007 21:48:51 +0000 (21:48 +0000)
start/shutdown.

doc/src/sgml/ref/pg_ctl-ref.sgml
src/bin/pg_ctl/pg_ctl.c

index 437281c26c0566c5acbe1eeea79a40cb553f06f5..f4200718c7a412d68d0c2da1ac9b4f006ea71146 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.43 2007/11/10 14:07:18 momjian Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.44 2007/11/10 21:48:51 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -21,9 +21,11 @@ PostgreSQL documentation
 
  <refsynopsisdiv>
   <cmdsynopsis>
+
    <command>pg_ctl</command>
    <arg choice="plain">start</arg>
    <arg>-w</arg>
+   <arg>-t <replaceable>seconds</replaceable></arg>
    <arg>-s</arg>
    <arg>-D <replaceable>datadir</replaceable></arg>
    <arg>-l <replaceable>filename</replaceable></arg>
@@ -31,9 +33,11 @@ PostgreSQL documentation
    <arg>-p <replaceable>path</replaceable></arg>
    <arg>-c</arg>
    <sbr>
+
    <command>pg_ctl</command>
    <arg choice="plain">stop</arg>
    <arg>-W</arg>
+   <arg>-t <replaceable>seconds</replaceable></arg>
    <arg>-s</arg>
    <arg>-D <replaceable>datadir</replaceable></arg>
    <arg>-m
@@ -44,9 +48,11 @@ PostgreSQL documentation
      </group>
    </arg>
    <sbr>
+
    <command>pg_ctl</command>
    <arg choice="plain">restart</arg>
    <arg>-w</arg>
+   <arg>-t <replaceable>seconds</replaceable></arg>
    <arg>-s</arg>
    <arg>-D <replaceable>datadir</replaceable></arg>
    <arg>-c</arg>
@@ -59,20 +65,24 @@ PostgreSQL documentation
    </arg>
    <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>
    <sbr>
+
    <command>pg_ctl</command>
    <arg choice="plain">kill</arg>
    <arg><replaceable>signal_name</replaceable></arg>
    <arg><replaceable>process_id</replaceable></arg>
    <sbr>
+
    <command>pg_ctl</command>
    <arg choice="plain">register</arg>
    <arg>-N <replaceable>servicename</replaceable></arg>
@@ -80,11 +90,14 @@ PostgreSQL documentation
    <arg>-P <replaceable>password</replaceable></arg>
    <arg>-D <replaceable>datadir</replaceable></arg>
    <arg>-w</arg>
+   <arg>-t <replaceable>seconds</replaceable></arg>
    <arg>-o <replaceable>options</replaceable></arg>
    <sbr>
+
    <command>pg_ctl</command>
    <arg choice="plain">unregister</arg>
    <arg>-N <replaceable>servicename</replaceable></arg>
+
   </cmdsynopsis>
  </refsynopsisdiv>
 
@@ -261,12 +274,22 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>-t</option></term>
+      <listitem>
+       <para>
+        The number of seconds to wait when waiting for start or shutdown
+        to complete.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
       <term><option>-w</option></term>
       <listitem>
        <para>
-        Wait for the start or shutdown to complete.  Times out after
-        60 seconds.  This is the default for shutdowns. A successful 
+        Wait for the start or shutdown to complete.  The default wait time
+        is 60 seconds.  This is the default option for shutdowns. A successful 
         shutdown is indicated by removal of the <acronym>PID</acronym> 
         file. For starting up, a successful <command>psql -l</command> 
         indicates success. <command>pg_ctl</command> will attempt to 
index 95adf93b2dc5b7c11a742c9fea7e4241f47a60c9..83f4c862633aefa9c9e3cc085fe1a3d3e7647817 100644 (file)
@@ -4,7 +4,7 @@
  *
  * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.85 2007/10/31 10:55:25 petere Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.86 2007/11/10 21:48:51 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1465,21 +1465,22 @@ do_help(void)
    printf(_("%s is a utility to start, stop, restart, reload configuration files,\n"
             "report the status of a PostgreSQL server, or signal a PostgreSQL process.\n\n"), progname);
    printf(_("Usage:\n"));
-   printf(_("  %s start   [-w] [-D DATADIR] [-s] [-l FILENAME] [-o \"OPTIONS\"]\n"), progname);
+   printf(_("  %s start   [-w] [-t secs] [-D DATADIR] [-s] [-l FILENAME] [-o \"OPTIONS\"]\n"), progname);
    printf(_("  %s stop    [-W] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]\n"), progname);
-   printf(_("  %s restart [-w] [-D DATADIR] [-s] [-m SHUTDOWN-MODE] [-o \"OPTIONS\"]\n"), progname);
+   printf(_("  %s restart [-w] [-t secs] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]\n                   [-o \"OPTIONS\"]\n"), progname);
    printf(_("  %s reload  [-D DATADIR] [-s]\n"), progname);
    printf(_("  %s status  [-D DATADIR]\n"), progname);
    printf(_("  %s kill    SIGNALNAME PID\n"), progname);
 #if defined(WIN32) || defined(__CYGWIN__)
    printf(_("  %s register   [-N SERVICENAME] [-U USERNAME] [-P PASSWORD] [-D DATADIR]\n"
-            "                    [-w] [-o \"OPTIONS\"]\n"), progname);
+            "                    [-w] [-t timeout] [-o \"OPTIONS\"]\n"), progname);
    printf(_("  %s unregister [-N SERVICENAME]\n"), progname);
 #endif
 
    printf(_("\nCommon options:\n"));
    printf(_("  -D, --pgdata DATADIR   location of the database storage area\n"));
    printf(_("  -s, --silent           only print errors, no informational messages\n"));
+   printf(_("  -t secs                seconds to wait when using -w option\n"));
    printf(_("  -w                     wait until operation completes\n"));
    printf(_("  -W                     do not wait until operation completes\n"));
    printf(_("  --help                 show this help, then exit\n"));
@@ -1592,6 +1593,7 @@ main(int argc, char **argv)
        {"mode", required_argument, NULL, 'm'},
        {"pgdata", required_argument, NULL, 'D'},
        {"silent", no_argument, NULL, 's'},
+       {"timeout", required_argument, NULL, 't'},
        {"core-files", no_argument, NULL, 'c'},
        {NULL, 0, NULL, 0}
    };
@@ -1657,7 +1659,7 @@ main(int argc, char **argv)
    /* process command-line options */
    while (optind < argc)
    {
-       while ((c = getopt_long(argc, argv, "cD:l:m:N:o:p:P:sU:wW", long_options, &option_index)) != -1)
+       while ((c = getopt_long(argc, argv, "cD:l:m:N:o:p:P:st:U:wW", long_options, &option_index)) != -1)
        {
            switch (c)
            {
@@ -1704,6 +1706,9 @@ main(int argc, char **argv)
                case 's':
                    silent_mode = true;
                    break;
+               case 't':
+                   wait_seconds = atoi(optarg);
+                   break;
                case 'U':
                    if (strchr(optarg, '\\'))
                        register_username = xstrdup(optarg);