pg_upgrade: improve checksum mismatch error message

Patch by Greg Sabino Mullane, slight adjustments by me
This commit is contained in:
Bruce Momjian 2015-02-11 22:22:26 -05:00
parent 056764b102
commit dc01efa5cc

View File

@ -572,10 +572,14 @@ check_control_data(ControlData *oldctrl,
* 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");
}
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");
}