This is likely small potatoes compared to some of the other pg_upgrade-related improvements I've proposed [0] [1] or plan to propose, but this is easy enough, and I already wrote the patch, so here it is. AFAICT there's no reason to bother syncing these dump files to disk. If someone pulls the plug during pg_upgrade, it's not like you can resume pg_upgrade from where it left off. Also, I think we skipped syncing before v10, anyway, as the --no-sync flag was only added in commit 96a7128, which added the code to sync dump files, too.
[0] https://postgr.es/m/20240418041712.GA3441570%40nathanxps13 [1] https://postgr.es/m/20240503025140.GA1227404%40nathanxps13 -- Nathan Bossart Amazon Web Services: https://aws.amazon.com
>From 998613046fb5ff5c6618964c821109b573bfa89b Mon Sep 17 00:00:00 2001 From: Nathan Bossart <nat...@postgresql.org> Date: Fri, 3 May 2024 10:35:21 -0500 Subject: [PATCH v1 1/1] add --no-sync to pg_upgrade's calls to pg_dump[all] --- src/bin/pg_upgrade/dump.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/bin/pg_upgrade/dump.c b/src/bin/pg_upgrade/dump.c index 29fb45b928..f052a4985c 100644 --- a/src/bin/pg_upgrade/dump.c +++ b/src/bin/pg_upgrade/dump.c @@ -22,9 +22,10 @@ generate_old_dump(void) /* run new pg_dumpall binary for globals */ exec_prog(UTILITY_LOG_FILE, NULL, true, true, "\"%s/pg_dumpall\" %s --globals-only --quote-all-identifiers " - "--binary-upgrade %s -f \"%s/%s\"", + "--binary-upgrade %s %s -f \"%s/%s\"", new_cluster.bindir, cluster_conn_opts(&old_cluster), log_opts.verbose ? "--verbose" : "", + GET_MAJOR_VERSION(old_cluster.major_version) >= 1000 ? "--no-sync" : "", log_opts.dumpdir, GLOBALS_DUMP_FILE); check_ok(); @@ -53,9 +54,10 @@ generate_old_dump(void) parallel_exec_prog(log_file_name, NULL, "\"%s/pg_dump\" %s --schema-only --quote-all-identifiers " - "--binary-upgrade --format=custom %s --file=\"%s/%s\" %s", + "--binary-upgrade --format=custom %s %s --file=\"%s/%s\" %s", new_cluster.bindir, cluster_conn_opts(&old_cluster), log_opts.verbose ? "--verbose" : "", + GET_MAJOR_VERSION(old_cluster.major_version) >= 1000 ? "--no-sync" : "", log_opts.dumpdir, sql_file_name, escaped_connstr.data); -- 2.25.1