/rtmp/pg_upgrade.diff

text/x-diff

Filename: /rtmp/pg_upgrade.diff
Type: text/x-diff
Part: 0
Message: Improve check for TOAST checks in pre-8.4 pg_upgrade servers

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: unified
File+
contrib/pg_upgrade/info.c 0 0
diff --git a/contrib/pg_upgrade/info.c b/contrib/pg_upgrade/info.c
index fe060ff..9cd3441 100644
*** a/contrib/pg_upgrade/info.c
--- b/contrib/pg_upgrade/info.c
*************** gen_db_file_maps(DbInfo *old_db, DbInfo 
*** 56,66 ****
  
  		/*
  		 *	In pre-8.4, TOAST table names change during CLUSTER;  in >= 8.4
! 		 *	TOAST relation names always use the heap tables oid, hence we
  		 *	cannot check relation names when upgrading from pre-8.4.
  		 */
! 		if (GET_MAJOR_VERSION(old_cluster.major_version) >= 804 &&
! 			(strcmp(old_rel->nspname, new_rel->nspname) != 0 ||
  		     strcmp(old_rel->relname, new_rel->relname) != 0))
  			pg_log(PG_FATAL, "Mismatch of relation names: database \"%s\", "
  				"old rel %s.%s, new rel %s.%s\n",
--- 56,66 ----
  
  		/*
  		 *	In pre-8.4, TOAST table names change during CLUSTER;  in >= 8.4
! 		 *	TOAST relation names always use heap table oids, hence we
  		 *	cannot check relation names when upgrading from pre-8.4.
  		 */
! 		if (strcmp(old_rel->nspname, new_rel->nspname) != 0 ||
! 			(GET_MAJOR_VERSION(old_cluster.major_version) >= 804 &&
  		     strcmp(old_rel->relname, new_rel->relname) != 0))
  			pg_log(PG_FATAL, "Mismatch of relation names: database \"%s\", "
  				"old rel %s.%s, new rel %s.%s\n",