]> granicus.if.org Git - postgresql/commitdiff
Revert "pg_ctl: Add idempotent option"
authorPeter Eisentraut <peter_e@gmx.net>
Tue, 30 Apr 2013 01:55:12 +0000 (21:55 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
Tue, 30 Apr 2013 01:55:12 +0000 (21:55 -0400)
This reverts commit 87306184580c9c49717b00d48a2f9e717f21e0a8.  The
behavior in certain cases is still being debated, and it's too late to
solve this before beta.

contrib/start-scripts/linux
doc/src/sgml/ref/pg_ctl-ref.sgml
src/bin/pg_ctl/pg_ctl.c

index 2d36a560fa539ac60f77d1668f574115d1175eec..b950cf512c3c519c1813f69af98a7a0ce7422769 100644 (file)
@@ -89,12 +89,12 @@ case $1 in
        ;;
   stop)
        echo -n "Stopping PostgreSQL: "
-       su - $PGUSER -c "$PGCTL stop -I -D '$PGDATA' -s -m fast"
+       su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast"
        echo "ok"
        ;;
   restart)
        echo -n "Restarting PostgreSQL: "
-       su - $PGUSER -c "$PGCTL stop -I -D '$PGDATA' -s -m fast -w"
+       su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w"
        test x"$OOM_SCORE_ADJ" != x && echo "$OOM_SCORE_ADJ" > /proc/self/oom_score_adj
        test x"$OOM_ADJ" != x && echo "$OOM_ADJ" > /proc/self/oom_adj
        su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1
index 549730da6f9edd5aefb67973c5925aa1725d1cb9..3107514901ce96463261596931b1721534ca9089 100644 (file)
@@ -39,7 +39,6 @@ PostgreSQL documentation
    <arg choice="opt"><option>-o</option> <replaceable>options</replaceable></arg>
    <arg choice="opt"><option>-p</option> <replaceable>path</replaceable></arg>
    <arg choice="opt"><option>-c</option></arg>
-   <arg choice="opt"><option>-I</option></arg>
   </cmdsynopsis>
 
   <cmdsynopsis>
@@ -56,7 +55,6 @@ PostgreSQL documentation
        <arg choice="plain"><option>i[mmediate]</option></arg>
      </group>
    </arg>
-   <arg choice="opt"><option>-I</option></arg>
   </cmdsynopsis>
 
   <cmdsynopsis>
@@ -272,25 +270,6 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
-     <varlistentry>
-      <term><option>-I</option></term>
-      <term><option>--idempotent</option></term>
-      <listitem>
-       <para>
-        When used with the <literal>start</literal> or <literal>stop</literal>
-        actions, return exit code 0 if the server is already running or
-        stopped, respectively.  Otherwise, an error is raised and a nonzero
-        exit code is returned in these cases.
-       </para>
-
-       <para>
-        This option is useful for System-V-style init scripts, which require
-        the <literal>start</literal> and <literal>stop</literal> actions to be
-        idempotent.
-       </para>
-      </listitem>
-     </varlistentry>
-
      <varlistentry>
       <term><option>-l <replaceable class="parameter">filename</replaceable></option></term>
       <term><option>--log <replaceable class="parameter">filename</replaceable></option></term>
index 14365e60791c09f0efe0a332f5f852b513eb4fe0..8113e507cbf1a4c5815270578bef787cd31bde9c 100644 (file)
@@ -85,7 +85,6 @@ static char *pg_config = NULL;
 static char *pgdata_opt = NULL;
 static char *post_opts = NULL;
 static const char *progname;
-static bool idempotent = false;
 static char *log_file = NULL;
 static char *exec_path = NULL;
 static char *register_servicename = "PostgreSQL";              /* FIXME: + version ID? */
@@ -774,15 +773,9 @@ do_start(void)
        {
                old_pid = get_pgpid();
                if (old_pid != 0)
-               {
-                       if (idempotent)
-                               exit(0);
-                       else
-                       {
-                               write_stderr(_("%s: another server might be running\n"), progname);
-                               exit(1);
-                       }
-               }
+                       write_stderr(_("%s: another server might be running; "
+                                                  "trying to start server anyway\n"),
+                                                progname);
        }
 
        read_post_opts();
@@ -866,8 +859,6 @@ do_stop(void)
 
        if (pid == 0)                           /* no pid file */
        {
-               if (idempotent)
-                       exit(0);
                write_stderr(_("%s: PID file \"%s\" does not exist\n"), progname, pid_file);
                write_stderr(_("Is server running?\n"));
                exit(1);
@@ -1771,9 +1762,9 @@ do_help(void)
        printf(_("%s is a utility to initialize, start, stop, or control a PostgreSQL server.\n\n"), progname);
        printf(_("Usage:\n"));
        printf(_("  %s init[db]               [-D DATADIR] [-s] [-o \"OPTIONS\"]\n"), progname);
-       printf(_("  %s start   [-w] [-t SECS] [-D DATADIR] [-s] [-I] [-l FILENAME] [-o \"OPTIONS\"]\n"), progname);
-       printf(_("  %s stop    [-W] [-t SECS] [-D DATADIR] [-s] [-I] [-m SHUTDOWN-MODE]\n"), progname);
-       printf(_("  %s restart [-w] [-t SECS] [-D DATADIR] [-s]      [-m SHUTDOWN-MODE]\n"
+       printf(_("  %s start   [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o \"OPTIONS\"]\n"), progname);
+       printf(_("  %s stop    [-W] [-t SECS] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]\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);
@@ -1806,8 +1797,6 @@ do_help(void)
        printf(_("  -o OPTIONS             command line options to pass to postgres\n"
         "                         (PostgreSQL server executable) or initdb\n"));
        printf(_("  -p PATH-TO-POSTGRES    normally not necessary\n"));
-       printf(_("\nOptions for start or stop:\n"));
-       printf(_("  -I, --idempotent       don't error if server already running or stopped\n"));
        printf(_("\nOptions for stop, restart, or promote:\n"));
        printf(_("  -m, --mode=MODE        MODE can be \"smart\", \"fast\", or \"immediate\"\n"));
 
@@ -1986,7 +1975,6 @@ main(int argc, char **argv)
                {"silent", no_argument, NULL, 's'},
                {"timeout", required_argument, NULL, 't'},
                {"core-files", no_argument, NULL, 'c'},
-               {"idempotent", no_argument, NULL, 'I'},
                {NULL, 0, NULL, 0}
        };
 
@@ -2052,7 +2040,7 @@ main(int argc, char **argv)
        /* process command-line options */
        while (optind < argc)
        {
-               while ((c = getopt_long(argc, argv, "cD:Il:m:N:o:p:P:sS:t:U:wW", long_options, &option_index)) != -1)
+               while ((c = getopt_long(argc, argv, "cD:l:m:N:o:p:P:sS:t:U:wW", long_options, &option_index)) != -1)
                {
                        switch (c)
                        {
@@ -2078,9 +2066,6 @@ main(int argc, char **argv)
                                                                 pgdata_D);
                                                break;
                                        }
-                               case 'I':
-                                       idempotent = true;
-                                       break;
                                case 'l':
                                        log_file = pg_strdup(optarg);
                                        break;