From: jesperpedersen Date: Fri, 21 Dec 2018 05:05:31 -0500 Subject: [PATCH] Highlight that the --jobs option isn't passed down to vacuumdb by default. Author: Jesper Pedersen --- doc/src/sgml/ref/pgupgrade.sgml | 6 +++++- src/bin/pg_upgrade/check.c | 28 ++++++++++++++++++++++------ 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/doc/src/sgml/ref/pgupgrade.sgml b/doc/src/sgml/ref/pgupgrade.sgml index 7e1afaf0a5..84a7ccb6f1 100644 --- a/doc/src/sgml/ref/pgupgrade.sgml +++ b/doc/src/sgml/ref/pgupgrade.sgml @@ -395,7 +395,11 @@ NET STOP postgresql-&majorversion; in parallel; a good place to start is the maximum of the number of CPU cores and tablespaces. This option can dramatically reduce the time to upgrade a multi-database server running on a multiprocessor - machine. + machine. Note that this option isn't passed to the + vacuumdb application by default. + The system environment variable VACUUMDB_OPTS can be + used to pass extra options to the vacuumdb + application during the script execution. diff --git a/src/bin/pg_upgrade/check.c b/src/bin/pg_upgrade/check.c index fc5aa7010f..570b7c9ae7 100644 --- a/src/bin/pg_upgrade/check.c +++ b/src/bin/pg_upgrade/check.c @@ -495,15 +495,31 @@ create_script_for_cluster_analyze(char **analyze_script_file_name) ECHO_QUOTE, ECHO_QUOTE); fprintf(script, "echo %sthis script and run:%s\n", ECHO_QUOTE, ECHO_QUOTE); - fprintf(script, "echo %s \"%s/vacuumdb\" %s--all %s%s\n", ECHO_QUOTE, - new_cluster.bindir, user_specification.data, - /* Did we copy the free space files? */ - (GET_MAJOR_VERSION(old_cluster.major_version) >= 804) ? - "--analyze-only" : "--analyze", ECHO_QUOTE); + if (user_opts.jobs <= 1) + { + fprintf(script, "echo %s \"%s/vacuumdb\" %s--all %s%s\n", ECHO_QUOTE, + new_cluster.bindir, user_specification.data, + /* Did we copy the free space files? */ + (GET_MAJOR_VERSION(old_cluster.major_version) >= 804) ? + "--analyze-only" : "--analyze", ECHO_QUOTE); + } + else + { + fprintf(script, "echo %s \"%s/vacuumdb\" %s--jobs %d --all %s%s\n", ECHO_QUOTE, + new_cluster.bindir, user_specification.data, user_opts.jobs, + /* Did we copy the free space files? */ + (GET_MAJOR_VERSION(old_cluster.major_version) >= 804) ? + "--analyze-only" : "--analyze", ECHO_QUOTE); + } fprintf(script, "echo%s\n\n", ECHO_BLANK); - fprintf(script, "\"%s/vacuumdb\" %s--all --analyze-in-stages\n", +#ifndef WIN32 + fprintf(script, "\"%s/vacuumdb\" %s $VACUUMDB_OPTS --all --analyze-in-stages\n", new_cluster.bindir, user_specification.data); +#else + fprintf(script, "\"%s\\vacuumdb.exe\" %s %%VACUUMDB_OPTS%% --all --analyze-in-stages\n", + new_cluster.bindir, user_specification.data); +#endif /* Did we copy the free space files? */ if (GET_MAJOR_VERSION(old_cluster.major_version) < 804) fprintf(script, "\"%s/vacuumdb\" %s--all\n", new_cluster.bindir, -- 2.17.2 --------------1625A89444BEE0D4B5C9189B Content-Type: application/x-shellscript; name="analyze_new_cluster.sh" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="analyze_new_cluster.sh" IyEvYmluL3NoCgplY2hvICdUaGlzIHNjcmlwdCB3aWxsIGdlbmVyYXRlIG1pbmltYWwgb3B0 aW1pemVyIHN0YXRpc3RpY3MgcmFwaWRseScKZWNobyAnc28geW91ciBzeXN0ZW0gaXMgdXNh YmxlLCBhbmQgdGhlbiBnYXRoZXIgc3RhdGlzdGljcyB0d2ljZSBtb3JlJwplY2hvICd3aXRo IGluY3JlYXNpbmcgYWNjdXJhY3kuICBXaGVuIGl0IGlzIGRvbmUsIHlvdXIgc3lzdGVtIHdp bGwnCmVjaG8gJ2hhdmUgdGhlIGRlZmF1bHQgbGV2ZWwgb2Ygb3B0aW1pemVyIHN0YXRpc3Rp Y3MuJwplY2hvCgplY2hvICdJZiB5b3UgaGF2ZSB1c2VkIEFMVEVSIFRBQkxFIHRvIG1vZGlm eSB0aGUgc3RhdGlzdGljcyB0YXJnZXQgZm9yJwplY2hvICdhbnkgdGFibGVzLCB5b3UgbWln aHQgd2FudCB0byByZW1vdmUgdGhlbSBhbmQgcmVzdG9yZSB0aGVtIGFmdGVyJwplY2hvICdy dW5uaW5nIHRoaXMgc2NyaXB0IGJlY2F1c2UgdGhleSB3aWxsIGRlbGF5IGZhc3Qgc3RhdGlz dGljcyBnZW5lcmF0aW9uLicKZWNobwoKZWNobyAnSWYgeW91IHdvdWxkIGxpa2UgZGVmYXVs dCBzdGF0aXN0aWNzIGFzIHF1aWNrbHkgYXMgcG9zc2libGUsIGNhbmNlbCcKZWNobyAndGhp cyBzY3JpcHQgYW5kIHJ1bjonCmVjaG8gJyAgICAiL2hvbWUvanBlZGVyc2VuL3Bnc3FsL3Bv c3RncmVzcWwtMTIueC9iaW4vdmFjdXVtZGIiIC0tam9icyA4IC0tYWxsIC0tYW5hbHl6ZS1v bmx5JwplY2hvCgoiL2hvbWUvanBlZGVyc2VuL3Bnc3FsL3Bvc3RncmVzcWwtMTIueC9iaW4v dmFjdXVtZGIiICRWQUNVVU1EQl9PUFRTIC0tYWxsIC0tYW5hbHl6ZS1pbi1zdGFnZXMKZWNo bwoKZWNobyAnRG9uZScK --------------1625A89444BEE0D4B5C9189B--