pg_upgrade: Add --copy option
authorPeter Eisentraut <peter@eisentraut.org>
Fri, 16 Dec 2022 16:49:59 +0000 (17:49 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Fri, 16 Dec 2022 17:32:02 +0000 (18:32 +0100)
This option selects the default transfer mode.  Having an explicit
option is handy to make scripts and tests more explicit.  It also
makes it easier to talk about a "copy" mode rather than "the default
mode" or something like that, since until now the default mode didn't
have an externally visible name.

Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
Reviewed-by: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/50a97009-8ff9-ca4d-a0f6-6086a6775a5b%40enterprisedb.com

doc/src/sgml/ref/pgupgrade.sgml
src/bin/pg_upgrade/option.c

index 8f7a3025c368a62feb73956f5d89ed64d61a7427..7816b4c6859bfa1c9df705f6a32cb538336d8739 100644 (file)
@@ -230,6 +230,16 @@ PostgreSQL documentation
       </listitem>
      </varlistentry>
 
+     <varlistentry>
+      <term><option>--copy</option></term>
+      <listitem>
+       <para>
+        Copy files to the new cluster.  This is the default.  (See also
+        <option>--link</option> and <option>--clone</option>.)
+       </para>
+      </listitem>
+     </varlistentry>
+
      <varlistentry>
       <term><option>-?</option></term>
       <term><option>--help</option></term>
index 2939f584b4c0c562acc442930f72090f92b8141a..51fc7aede036bd39b8619046b8fe59b3a0985186 100644 (file)
@@ -56,6 +56,7 @@ parseCommandLine(int argc, char *argv[])
        {"socketdir", required_argument, NULL, 's'},
        {"verbose", no_argument, NULL, 'v'},
        {"clone", no_argument, NULL, 1},
+       {"copy", no_argument, NULL, 2},
 
        {NULL, 0, NULL, 0}
    };
@@ -194,6 +195,10 @@ parseCommandLine(int argc, char *argv[])
                user_opts.transfer_mode = TRANSFER_MODE_CLONE;
                break;
 
+           case 2:
+               user_opts.transfer_mode = TRANSFER_MODE_COPY;
+               break;
+
            default:
                fprintf(stderr, _("Try \"%s --help\" for more information.\n"),
                        os_info.progname);
@@ -283,6 +288,7 @@ usage(void)
    printf(_("  -v, --verbose                 enable verbose internal logging\n"));
    printf(_("  -V, --version                 display version information, then exit\n"));
    printf(_("  --clone                       clone instead of copying files to new cluster\n"));
+   printf(_("  --copy                        copy files to new cluster (default)\n"));
    printf(_("  -?, --help                    show this help, then exit\n"));
    printf(_("\n"
             "Before running pg_upgrade you must:\n"