Add --no-sync to pg_upgrade's uses of pg_dump and pg_dumpall.

There's no reason to ensure that the files pg_upgrade generates
with pg_dump and pg_dumpall have been written safely to disk.  If
there is a crash during pg_upgrade, the upgrade must be restarted
from the beginning; dump files left behind by previous pg_upgrade
attempts cannot be reused.

Reviewed-by: Peter Eisentraut, Tom Lane, Michael Paquier, Daniel Gustafsson
Discussion: https://postgr.es/m/20240503171348.GA1731524%40nathanxps13
This commit is contained in:
Nathan Bossart 2024-07-01 10:18:26 -05:00
parent 3fb59e789d
commit 6e16b1e420

View File

@ -22,7 +22,7 @@ generate_old_dump(void)
/* run new pg_dumpall binary for globals */ /* run new pg_dumpall binary for globals */
exec_prog(UTILITY_LOG_FILE, NULL, true, true, exec_prog(UTILITY_LOG_FILE, NULL, true, true,
"\"%s/pg_dumpall\" %s --globals-only --quote-all-identifiers " "\"%s/pg_dumpall\" %s --globals-only --quote-all-identifiers "
"--binary-upgrade %s -f \"%s/%s\"", "--binary-upgrade %s --no-sync -f \"%s/%s\"",
new_cluster.bindir, cluster_conn_opts(&old_cluster), new_cluster.bindir, cluster_conn_opts(&old_cluster),
log_opts.verbose ? "--verbose" : "", log_opts.verbose ? "--verbose" : "",
log_opts.dumpdir, log_opts.dumpdir,
@ -53,7 +53,7 @@ generate_old_dump(void)
parallel_exec_prog(log_file_name, NULL, parallel_exec_prog(log_file_name, NULL,
"\"%s/pg_dump\" %s --schema-only --quote-all-identifiers " "\"%s/pg_dump\" %s --schema-only --quote-all-identifiers "
"--binary-upgrade --format=custom %s --file=\"%s/%s\" %s", "--binary-upgrade --format=custom %s --no-sync --file=\"%s/%s\" %s",
new_cluster.bindir, cluster_conn_opts(&old_cluster), new_cluster.bindir, cluster_conn_opts(&old_cluster),
log_opts.verbose ? "--verbose" : "", log_opts.verbose ? "--verbose" : "",
log_opts.dumpdir, log_opts.dumpdir,