basebackup_xlog_param.patch
application/octet-stream
Filename: basebackup_xlog_param.patch
Type: application/octet-stream
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| doc/src/sgml/ref/pg_basebackup.sgml | 13 | 2 |
| src/bin/pg_basebackup/pg_basebackup.c | 25 | 4 |
diff --git a/doc/src/sgml/ref/pg_basebackup.sgml b/doc/src/sgml/ref/pg_basebackup.sgml
index 102d649..d03bedd 100644
--- a/doc/src/sgml/ref/pg_basebackup.sgml
+++ b/doc/src/sgml/ref/pg_basebackup.sgml
@@ -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
@@ -238,6 +238,17 @@ PostgreSQL documentation
</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>
<listitem>
diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c
index c3a0d89..438a5cc 100644
--- a/src/bin/pg_basebackup/pg_basebackup.c
+++ b/src/bin/pg_basebackup/pg_basebackup.c
@@ -106,7 +106,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"));
@@ -1193,7 +1195,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'},
@@ -1229,7 +1232,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)
@@ -1250,6 +1253,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)
@@ -1259,7 +1280,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);
}