Hi Masahiko, I think that a better fix for v19 would be to check these particular > cases (i.e., standard_conforming_strings = off, escape_string_warning, > and user-defined uuid<->bytea casts) only if the old cluster is 18 or > older, like check_for_not_null_inheritance() and > check_for_gist_inet_ops() do, and we can seek a more generic approach > for v20+.
Thanks for your testing. Okay, let's take care of 19 first. I can create a different thread for 20+. I added two checks next to check_for_gist_inet_ops(). Both run only when the old cluster is 18 or older. The first lists roles, databases and functions that set standard_conforming_strings to off or set escape_string_warning. The second lists user casts between uuid and bytea. I attached a version for 19 too.
v4-0001-pg_upgrade-Check-for-settings-and-casts-that-19-c.patch
Description: Binary data
nocfbot-v4-REL_19-0001-pg_upgrade-Check-for-settings-and-casts-that-19-c.patch
Description: Binary data
