Hello, I started reviewing the patch. Go through the original mail thread to understand the need of fix and the actual problem.
http://www.postgresql.org/message-id/20121002155857.ge30...@momjian.us Patch is using pg_valid_server_encoding() to compare the encoding which looks more correct. Did code walk through and it looks good to me. I tried to test the patch on CentOS and its working fine. I am not quite knowledgeable about other OS so on that perspective would good to have others view. Here are the comment about the patch: .) Patch gets cleanly apply on master ( using patch -p1 ) .) compilation done successful .) Code walk through and logic looks good .) Manual testing worked good for me To test the issue I set the old database locale to en_US.utf8 and for new database locale to en_US.utf-8. WIth this when I tried pg_upgrade it failed with "lc_collate cluster values do not match: old "en_US.utf8", new "en_US.UTF-8". With the patch pg_upgrade running fine. Regards,