void check_new_cluster(void) { set_locale_and_encoding(&new_cluster); check_locale_and_encoding(&old_cluster.controldata, &new_cluster.controldata); get_db_and_rel_infos(&new_cluster); check_new_cluster_is_empty(); check_loadable_libraries(); if (user_opts.transfer_mode == TRANSFER_MODE_LINK) check_hard_link(); check_is_super_user(&new_cluster); /* * We don't restore our own user, so both clusters must match have * matching install-user oids. */ if (old_cluster.install_role_oid != new_cluster.install_role_oid) pg_fatal("Old and new cluster install users have different values for pg_authid.oid.\n"); /* * We only allow the install user in the new cluster because other defined * users might match users defined in the old cluster and generate an * error during pg_dump restore. */ if (new_cluster.role_count != 1) pg_fatal("Only the install user can be defined in the new cluster.\n"); check_for_prepared_transactions(&new_cluster); }
void check_new_cluster(void) { set_locale_and_encoding(&new_cluster); check_new_db_is_empty(); check_loadable_libraries(); check_locale_and_encoding(&old_cluster.controldata, &new_cluster.controldata); if (user_opts.transfer_mode == TRANSFER_MODE_LINK) check_hard_link(); }
void check_new_cluster(void) { set_locale_and_encoding(&new_cluster); get_db_and_rel_infos(&new_cluster); check_new_cluster_is_empty(); check_for_prepared_transactions(&new_cluster); check_old_cluster_has_new_cluster_dbs(); check_loadable_libraries(); check_locale_and_encoding(&old_cluster.controldata, &new_cluster.controldata); if (user_opts.transfer_mode == TRANSFER_MODE_LINK) check_hard_link(); }
/* * Check that every database that already exists in the new cluster is * compatible with the corresponding database in the old one. */ static void check_databases_are_compatible(void) { int newdbnum; int olddbnum; DbInfo *newdbinfo; DbInfo *olddbinfo; for (newdbnum = 0; newdbnum < new_cluster.dbarr.ndbs; newdbnum++) { newdbinfo = &new_cluster.dbarr.dbs[newdbnum]; /* Find the corresponding database in the old cluster */ for (olddbnum = 0; olddbnum < old_cluster.dbarr.ndbs; olddbnum++) { olddbinfo = &old_cluster.dbarr.dbs[olddbnum]; if (strcmp(newdbinfo->db_name, olddbinfo->db_name) == 0) { check_locale_and_encoding(olddbinfo, newdbinfo); break; } } } }