Should we error if both --data-checksum and --no-data-checksums are specified? IIUC with 0001, we'll use whichever is specified last.
Hmmm, that is a good question. We have never (to my recollection) flipped a default quite like this before. I'm inclined to leave it as "last one wins", as I can see automated systems appending their desired selection to the end of the arg list, and expecting it to work.
nitpick: these 4 patches are small enough that they could likely be combined and committed together.
This was split per request upthread, which I do agree with.
I think it's fair to say we should make the pg_upgrade experience nicer once the default changes, but IMHO that needn't block actually changing the default.