mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Allow parallel copy/link in pg_upgrade
This patch implements parallel copying/linking of files by tablespace using the --jobs option in pg_upgrade.
This commit is contained in:
@ -23,7 +23,7 @@ init_tablespaces(void)
|
||||
set_tablespace_directory_suffix(&old_cluster);
|
||||
set_tablespace_directory_suffix(&new_cluster);
|
||||
|
||||
if (os_info.num_tablespaces > 0 &&
|
||||
if (os_info.num_old_tablespaces > 0 &&
|
||||
strcmp(old_cluster.tablespace_suffix, new_cluster.tablespace_suffix) == 0)
|
||||
pg_log(PG_FATAL,
|
||||
"Cannot upgrade to/from the same system catalog version when\n"
|
||||
@ -57,16 +57,16 @@ get_tablespace_paths(void)
|
||||
|
||||
res = executeQueryOrDie(conn, "%s", query);
|
||||
|
||||
if ((os_info.num_tablespaces = PQntuples(res)) != 0)
|
||||
os_info.tablespaces = (char **) pg_malloc(
|
||||
os_info.num_tablespaces * sizeof(char *));
|
||||
if ((os_info.num_old_tablespaces = PQntuples(res)) != 0)
|
||||
os_info.old_tablespaces = (char **) pg_malloc(
|
||||
os_info.num_old_tablespaces * sizeof(char *));
|
||||
else
|
||||
os_info.tablespaces = NULL;
|
||||
os_info.old_tablespaces = NULL;
|
||||
|
||||
i_spclocation = PQfnumber(res, "spclocation");
|
||||
|
||||
for (tblnum = 0; tblnum < os_info.num_tablespaces; tblnum++)
|
||||
os_info.tablespaces[tblnum] = pg_strdup(
|
||||
for (tblnum = 0; tblnum < os_info.num_old_tablespaces; tblnum++)
|
||||
os_info.old_tablespaces[tblnum] = pg_strdup(
|
||||
PQgetvalue(res, tblnum, i_spclocation));
|
||||
|
||||
PQclear(res);
|
||||
|
Reference in New Issue
Block a user