I was upgrading a cluster, went on the IRC channel to clarify a few things, the following discussion ensued:
yuri_niyazov: Hi. I am trying to upgrade to 9.5. The instructions for pg_upgrade include the following bit:
[4:35pm] yuri_niyazov: "Again, use compatible initdb flags that match the old cluster" - this is when running initdb before running pg_upgrade
[4:36pm] RhodiumToad: same encoding, locale, and checksum settings
[4:36pm] yuri_niyazov: Can I recover those from the data directory? The previous initdb was ran 3 admins ago
[4:37pm] RhodiumToad: psql -l against the old server and look at the encoding and locale for template0
[4:37pm] RhodiumToad: checksums are almost certainly not enabled, but you can check that by running pg_controldata against the old data dir
[4:38pm] yuri_niyazov: thank you!
[4:38pm] RhodiumToad: (if the old server is too old for checksums, then don't enable them in the new initdb)
I took RhodiumToad's comments and made them into a patch to pg_upgrade's documentation. Patch was created via "git diff --patience HEAD^ HEAD | filterdiff --format=context" as recommended on https://wiki.postgresql.org/wiki/Working_with_Git