From ee5353abb6124de5ffd24ef1cedbc2a7196d4fd5 Mon Sep 17 00:00:00 2001 From: Michael Paquier <michael@paquier.xyz> Date: Tue, 13 Sep 2022 10:38:56 +0900 Subject: [PATCH] Move any remaining files generated by pg_upgrade into an internal subdir This change concerns a couple of .txt files (for internal state checks) that were still written in the path where the binary is executed, and not in the subdirectory located in the target cluster. Like the other .txt files doing already so (like loadable_libraries.txt), these are saved in the base output directory. Note that on failure, the logs report the full path to the .txt file generated, so these are easy to find. Oversight in 38bfae3. Author: Daniel Gustafsson Reviewed-by: Michael Paquier, Justin Prysby Discussion: https://postgr.es/m/181A6DA8-3B7F-4B71-82D5-363FF0146820@yesql.se Backpatch-through: 15 --- src/bin/pg_upgrade/check.c | 12 +++++++++--- src/bin/pg_upgrade/version.c | 12 +++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/bin/pg_upgrade/check.c b/src/bin/pg_upgrade/check.c index f4969bcdad7..f1bc1e68868 100644 --- a/src/bin/pg_upgrade/check.c +++ b/src/bin/pg_upgrade/check.c @@ -1218,7 +1218,9 @@ check_for_composite_data_type_usage(ClusterInfo *cluster) prep_status("Checking for system-defined composite types in user tables"); - snprintf(output_path, sizeof(output_path), "tables_using_composite.txt"); + snprintf(output_path, sizeof(output_path), "%s/%s", + log_opts.basedir, + "tables_using_composite.txt"); /* * Look for composite types that were made during initdb *or* belong to @@ -1275,7 +1277,9 @@ check_for_reg_data_type_usage(ClusterInfo *cluster) prep_status("Checking for reg* data types in user tables"); - snprintf(output_path, sizeof(output_path), "tables_using_reg.txt"); + snprintf(output_path, sizeof(output_path), "%s/%s", + log_opts.basedir, + "tables_using_reg.txt"); /* * Note: older servers will not have all of these reg* types, so we have @@ -1328,7 +1332,9 @@ check_for_jsonb_9_4_usage(ClusterInfo *cluster) prep_status("Checking for incompatible \"jsonb\" data type"); - snprintf(output_path, sizeof(output_path), "tables_using_jsonb.txt"); + snprintf(output_path, sizeof(output_path), "%s/%s", + log_opts.basedir, + "tables_using_jsonb.txt"); if (check_for_data_type_usage(cluster, "pg_catalog.jsonb", output_path)) { diff --git a/src/bin/pg_upgrade/version.c b/src/bin/pg_upgrade/version.c index 064d23797c5..dc19fc6ec84 100644 --- a/src/bin/pg_upgrade/version.c +++ b/src/bin/pg_upgrade/version.c @@ -183,7 +183,9 @@ old_9_3_check_for_line_data_type_usage(ClusterInfo *cluster) prep_status("Checking for incompatible \"line\" data type"); - snprintf(output_path, sizeof(output_path), "tables_using_line.txt"); + snprintf(output_path, sizeof(output_path), "%s/%s", + log_opts.basedir, + "tables_using_line.txt"); if (check_for_data_type_usage(cluster, "pg_catalog.line", output_path)) { @@ -221,7 +223,9 @@ old_9_6_check_for_unknown_data_type_usage(ClusterInfo *cluster) prep_status("Checking for invalid \"unknown\" user columns"); - snprintf(output_path, sizeof(output_path), "tables_using_unknown.txt"); + snprintf(output_path, sizeof(output_path), "%s/%s", + log_opts.basedir, + "tables_using_unknown.txt"); if (check_for_data_type_usage(cluster, "pg_catalog.unknown", output_path)) { @@ -364,7 +368,9 @@ old_11_check_for_sql_identifier_data_type_usage(ClusterInfo *cluster) prep_status("Checking for invalid \"sql_identifier\" user columns"); - snprintf(output_path, sizeof(output_path), "tables_using_sql_identifier.txt"); + snprintf(output_path, sizeof(output_path), "%s/%s", + log_opts.basedir, + "tables_using_sql_identifier.txt"); if (check_for_data_type_usage(cluster, "information_schema.sql_identifier", output_path))