On Wed, Nov 18, 2020 at 10:57:00PM -0700, Rob Sargent wrote: > > It issues this message and fails: > > > > if (PQntuples(res) > 0) > > { > > if (!found_public_plpython_handler) > > { > > pg_log(PG_WARNING, > > "\nThe old cluster has a \"plpython_call_handler\" function defined\n" > > "in the \"public\" schema which is a duplicate of the one defined\n" > > "in the \"pg_catalog\" schema. You can confirm this by executing\n" > > "in psql:\n" > > "\n" > > " \\df *.plpython_call_handler\n" > > "\n" > > "The \"public\" schema version of this function was created by a\n" > > "pre-8.1 install of plpython, and must be removed for pg_upgrade\n" > > "to complete because it references a now-obsolete \"plpython\"\n" > > "shared object file. You can remove the \"public\" schema version\n" > > "of this function by running the following command:\n" > > "\n" > > " DROP FUNCTION public.plpython_call_handler()\n" > > "\n" > > "in each affected database:\n" > > "\n"); > > } > > pg_log(PG_WARNING, " %s\n", active_db->db_name); > > found_public_plpython_handler = true; > > } > > PQclear(res); > > } > > > > PQfinish(conn); > > } > > > > if (found_public_plpython_handler) > > pg_fatal("Remove the problem functions from the old cluster to continue.\n"); > > > > > Does this jive with OP’s experience? Or should it? It didn't trigger this message for him, and I am also wondering if it should have. -- Bruce Momjian <bruce@xxxxxxxxxx> https://momjian.us EnterpriseDB https://enterprisedb.com The usefulness of a cup is in its emptiness, Bruce Lee