On Mon, Jan 11, 2016 at 10:04:16AM -0500, Tom Lane wrote: /tmp/mutt-mayon-1000-19386-284b6a00794950f414 > Paul Jones <pbj@xxxxxxxxxx> writes: > > pg_upgrade complains about not being able to find $libdir/plpython3 > > when upgrading a 9.4 cluster that has both python2 and python3 used. > > No, that's not what the error message says: > > > Could not load library "$libdir/plpython3" > > FATAL: Python major version mismatch in session > > DETAIL: This session has previously used Python major version 2, and it is now attempting to use Python major version 3. > > HINT: Start a new session to use a different Python major version. > > This is a restriction we put in place because libpython2 and libpython3 > don't coexist nicely in the same address space. Unfortunately, it makes > it problematic to restore a dump that contains references to both python2 > and python3 functions. > > It looks like pg_upgrade tries to load all libraries from functions in > any database in the old cluster into a single session in the new cluster, > which will fail in a scenario like this even if you keep python2 and > python3 functions rigorously separated into distinct databases. I'm > not sure if we could weaken that test enough to work. I guess the thing to do is to manually pg_dump the databases that have python, drop them, upgrade, and then manually restore. > > > I dropped the python2 database but still got the problem. > > You must still have at least one database that contains references > to python2 (check pg_language to be sure). I thought of that after I pulled the trigger on the mail... Thanks for the information... > > regards, tom lane > > > -- > Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general