The attached patches fixes a pg_upgrade crash in 9.0 caused by a new
cluster database that doesn't exist in the old cluster; instead throw
an error. This was reported to me by EnterpriseDB testing staff. This
bug does not exist in git head.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ It's impossible for everything to be true. +
diff --git a/contrib/pg_upgrade/relfilenode.c b/contrib/pg_upgrade/relfilenode.c
new file mode 100644
index b20ca20..fc36968
*** a/contrib/pg_upgrade/relfilenode.c
--- b/contrib/pg_upgrade/relfilenode.c
*************** transfer_all_new_dbs(migratorContext *ct
*** 46,51 ****
--- 46,55 ----
int n_maps;
pageCnvCtx *pageConverter = NULL;
+ if (!old_db)
+ pg_log(ctx, PG_FATAL,
+ "the new cluster database %s was not found in the old cluster\n", new_db->db_name);
+
n_maps = 0;
mappings = gen_db_file_maps(ctx, old_db, new_db, &n_maps, old_pgdata,
new_pgdata);