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.
-- Greg Sabino Mullane [email protected] End Point Corporation PGP Key: 0x14964AC8
diff --git a/contrib/pg_upgrade/controldata.c b/contrib/pg_upgrade/controldata.c
index a02a8ec..8a7b976 100644
--- a/contrib/pg_upgrade/controldata.c
+++ b/contrib/pg_upgrade/controldata.c
@@ -572,9 +572,17 @@ 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 version does not use data checksums but new one does\n");
+ }
+ if (oldctrl->data_checksum_version && ! newctrl->data_checksum_version)
+ {
+ pg_fatal("old version uses data checksums but new one does not\n");
+ }
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");
+ pg_fatal("old and new pg_controldata checksum versions do not match\n");
}
}
signature.asc
Description: Digital signature
