]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
pg_upgrade: quote directory names in delete_old_cluster script
authorBruce Momjian <bruce@momjian.us>
Thu, 12 Feb 2015 03:06:04 +0000 (22:06 -0500)
committerBruce Momjian <bruce@momjian.us>
Thu, 12 Feb 2015 03:06:04 +0000 (22:06 -0500)
This allows the delete script to properly function when special
characters appear in directory paths, e.g. spaces.

Backpatch through 9.0

contrib/pg_upgrade/check.c

index 4a0e69ef471ea5e4aa56323264946aa3caf7ac14..1ca6366f5ba4a4f5c698bcf97f4a3e770b05f2e4 100644 (file)
@@ -483,7 +483,7 @@ create_script_for_old_cluster_deletion(
 #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_tablespaces; tblnum++)
@@ -507,7 +507,7 @@ create_script_for_old_cluster_deletion(
 
                        for (dbnum = 0; dbnum < new_cluster.dbarr.ndbs; dbnum++)
                        {
-                               fprintf(script, RMDIR_CMD " %s%s%c%d\n",
+                               fprintf(script, RMDIR_CMD " \"%s%s%c%d\"\n",
                                                fix_path_separator(os_info.tablespaces[tblnum]),
                                                fix_path_separator(old_cluster.tablespace_suffix),
                                                PATH_SEPARATOR, old_cluster.dbarr.dbs[dbnum].db_oid);
@@ -519,7 +519,7 @@ create_script_for_old_cluster_deletion(
                         * 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.tablespaces[tblnum]), 
                                        fix_path_separator(old_cluster.tablespace_suffix));
        }