summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2015-02-11 22:06:04 -0500
committerBruce Momjian <bruce@momjian.us>2015-02-11 22:06:04 -0500
commit5eef3c61ecf9cbd24116252cb9d3ccdf6c3f38fc (patch)
treeb95a4dbac5a185442d4759e262c7be3110dd2ad7
parentc7bc5be11de9ed9e4b9ee6c06e65fee314bab7e0 (diff)
pg_upgrade: quote directory names in delete_old_cluster script
This allows the delete script to properly function when special characters appear in directory paths, e.g. spaces. Backpatch through 9.0
-rw-r--r--contrib/pg_upgrade/check.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/contrib/pg_upgrade/check.c b/contrib/pg_upgrade/check.c
index 1743ca3443a..b5ceb358602 100644
--- a/contrib/pg_upgrade/check.c
+++ b/contrib/pg_upgrade/check.c
@@ -641,7 +641,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
#endif
/* delete old cluster's default tablespace */
- fprintf(script, RMDIR_CMD " %s\n", fix_path_separator(old_cluster.pgdata));
+ fprintf(script, RMDIR_CMD " \"%s\"\n", fix_path_separator(old_cluster.pgdata));
/* delete old cluster's alternate tablespaces */
for (tblnum = 0; tblnum < os_info.num_old_tablespaces; tblnum++)
@@ -663,7 +663,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
PATH_SEPARATOR);
for (dbnum = 0; dbnum < old_cluster.dbarr.ndbs; dbnum++)
- fprintf(script, RMDIR_CMD " %s%c%d\n",
+ fprintf(script, RMDIR_CMD " \"%s%c%d\"\n",
fix_path_separator(os_info.old_tablespaces[tblnum]),
PATH_SEPARATOR, old_cluster.dbarr.dbs[dbnum].db_oid);
}
@@ -675,7 +675,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name)
* Simply delete the tablespace directory, which might be ".old"
* or a version-specific subdirectory.
*/
- fprintf(script, RMDIR_CMD " %s%s\n",
+ fprintf(script, RMDIR_CMD " \"%s%s\"\n",
fix_path_separator(os_info.old_tablespaces[tblnum]),
fix_path_separator(suffix_path));
pfree(suffix_path);