mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	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
This commit is contained in:
		@@ -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));
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user