]> granicus.if.org Git - postgresql/commitdiff
Revert behaviour of -x/--xlog to 9.1 semantics
authorMagnus Hagander <magnus@hagander.net>
Sun, 10 Jun 2012 11:43:51 +0000 (13:43 +0200)
committerMagnus Hagander <magnus@hagander.net>
Mon, 11 Jun 2012 12:58:35 +0000 (14:58 +0200)
To replace it, add -X/--xlog-method that allows the specification
of fetch or stream.

Do this to avoid unnecessary backwards-incompatiblity. Spotted and
suggested by Peter Eisentraut.

doc/src/sgml/ref/pg_basebackup.sgml
src/bin/pg_basebackup/pg_basebackup.c

index 102d649f4e8b52cff30699bbb6db8641b8302cd4..d03bedd12a999000d0bf2cded0e5116060ea9ff1 100644 (file)
@@ -186,8 +186,8 @@ PostgreSQL documentation
      </varlistentry>
 
      <varlistentry>
-      <term><option>-x <replaceable class="parameter">method</replaceable></option></term>
-      <term><option>--xlog=<replaceable class="parameter">method</replaceable></option></term>
+      <term><option>-X <replaceable class="parameter">method</replaceable></option></term>
+      <term><option>--xlog-method=<replaceable class="parameter">method</replaceable></option></term>
       <listitem>
        <para>
         Includes the required transaction log files (WAL files) in the
@@ -237,6 +237,17 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>-x</option></term>
+      <term><option>--xlog</option></term>
+      <listitem>
+       <para>
+        Using this option is equivalent of using <literal>-X</literal> with
+        method <literal>fetch</literal>.
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
       <term><option>-z</option></term>
       <term><option>--gzip</option></term>
index 66a281477a738bf789928be0d9ddff382a5718ec..44fd8a969dd4df247f919fb6734126fc496f505f 100644 (file)
@@ -107,7 +107,9 @@ usage(void)
        printf(_("\nOptions controlling the output:\n"));
        printf(_("  -D, --pgdata=DIRECTORY   receive base backup into directory\n"));
        printf(_("  -F, --format=p|t         output format (plain (default), tar)\n"));
-       printf(_("  -x, --xlog=fetch|stream  include required WAL files in backup\n"));
+       printf(_("  -x, --xlog               include required WAL files in backup (fetch mode)\n"));
+       printf(_("  -X, --xlog-method=fetch|stream\n"
+                  "                           include required WAL files with specified method\n"));
        printf(_("  -z, --gzip               compress tar output\n"));
        printf(_("  -Z, --compress=0-9       compress tar output with given compression level\n"));
        printf(_("\nGeneral options:\n"));
@@ -1194,7 +1196,8 @@ main(int argc, char **argv)
                {"pgdata", required_argument, NULL, 'D'},
                {"format", required_argument, NULL, 'F'},
                {"checkpoint", required_argument, NULL, 'c'},
-               {"xlog", required_argument, NULL, 'x'},
+               {"xlog", no_argument, NULL, 'x'},
+               {"xlog-method", required_argument, NULL, 'X'},
                {"gzip", no_argument, NULL, 'z'},
                {"compress", required_argument, NULL, 'Z'},
                {"label", required_argument, NULL, 'l'},
@@ -1230,7 +1233,7 @@ main(int argc, char **argv)
                }
        }
 
-       while ((c = getopt_long(argc, argv, "D:F:x:l:zZ:c:h:p:U:s:wWvP",
+       while ((c = getopt_long(argc, argv, "D:F:xX:l:zZ:c:h:p:U:s:wWvP",
                                                        long_options, &option_index)) != -1)
        {
                switch (c)
@@ -1251,6 +1254,24 @@ main(int argc, char **argv)
                                }
                                break;
                        case 'x':
+                               if (includewal)
+                               {
+                                       fprintf(stderr, _("%s: cannot specify both --xlog and --xlog-method\n"),
+                                                       progname);
+                                       exit(1);
+                               }
+
+                               includewal = true;
+                               streamwal = false;
+                               break;
+                       case 'X':
+                               if (includewal)
+                               {
+                                       fprintf(stderr, _("%s: cannot specify both --xlog and --xlog-method\n"),
+                                                       progname);
+                                       exit(1);
+                               }
+
                                includewal = true;
                                if (strcmp(optarg, "f") == 0 ||
                                        strcmp(optarg, "fetch") == 0)
@@ -1260,7 +1281,7 @@ main(int argc, char **argv)
                                        streamwal = true;
                                else
                                {
-                                       fprintf(stderr, _("%s: invalid xlog option \"%s\", must be empty, \"fetch\", or \"stream\"\n"),
+                                       fprintf(stderr, _("%s: invalid xlog-method option \"%s\", must be empty, \"fetch\", or \"stream\"\n"),
                                                        progname, optarg);
                                        exit(1);
                                }