On Tue, Feb 10, 2015 at 10:55:07AM -0500, Greg Sabino Mullane wrote:
> Just a little thing that's been bugging me. If one side of the 
> pg_upgrade has checksums and the other does not, give a less 
> cryptic error message.

Thanks.  Slightly adjusted patch attached and applied to head.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + Everyone has their own god. +
diff --git a/contrib/pg_upgrade/controldata.c b/contrib/pg_upgrade/controldata.c
new file mode 100644
index a02a8ec..0e70b6f
*** a/contrib/pg_upgrade/controldata.c
--- b/contrib/pg_upgrade/controldata.c
*************** check_control_data(ControlData *oldctrl,
*** 572,581 ****
  	 * We might eventually allow upgrades from checksum to no-checksum
  	 * clusters.
  	 */
! 	if (oldctrl->data_checksum_version != newctrl->data_checksum_version)
! 	{
! 		pg_fatal("old and new pg_controldata checksum versions are invalid or do not match\n");
! 	}
  }
  
  
--- 572,585 ----
  	 * We might eventually allow upgrades from checksum to no-checksum
  	 * clusters.
  	 */
! 	if (oldctrl->data_checksum_version == 0 &&
! 		newctrl->data_checksum_version != 0)
! 		pg_fatal("old cluster does not use data checksums but the new one does\n");
! 	else if (oldctrl->data_checksum_version != 0 &&
! 			 newctrl->data_checksum_version == 0)
! 		pg_fatal("old cluster uses data checksums but the new one does not\n");
! 	else if (oldctrl->data_checksum_version != newctrl->data_checksum_version)
! 		pg_fatal("old and new cluster pg_controldata checksum versions do not match\n");
  }
  
  
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to