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 g...@endpoint.com 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