Hi Tom, > On 26. Sep, 2020, at 16:07, Tom Lane <tgl@xxxxxxxxxxxxx> wrote: > > =?utf-8?Q?Paul_F=C3=B6rster?= <paul.foerster@xxxxxxxxx> writes: >> seems, I found some kind of solution: > >> - before running "pg_upgrade --check -k": >> drop extension plpythonu; >> - run pg_upgrade >> - after the upgrade: >> create extension plpython3u; > >> Is this the correct way? > > If you had plpythonu installed before, that's a plausible thing > to do. (There was discussion some time ago about making the > python-2-to-3 transition less painful for users, but we failed > to come to any consensus about how; so manual fixes like this > are going to be needed for a lot of people.) > > However, I don't understand how "drop extension plpythonu" > worked for you, given your previous query showing that > that extension wasn't installed. just checked with another 12.4. It's the same: postgres=# select * from pg_available_extension_versions where installed; name | version | installed | superuser | relocatable | schema | requires | comment ---------+---------+-----------+-----------+-------------+------------+----------+-------------------------------------------------------------- plperlu | 1.0 | t | t | f | pg_catalog | | PL/PerlU untrusted procedural language dblink | 1.2 | t | t | t | | | connect to other PostgreSQL databases from within a database plpgsql | 1.0 | t | f | f | pg_catalog | | PL/pgSQL procedural language plperl | 1.0 | t | f | f | pg_catalog | | PL/Perl procedural language (4 rows) postgres=# drop extension plpythonu ; DROP EXTENSION postgres=# create extension plpython3u ; CREATE EXTENSION The "plpython" and "plpython3u" for the drop and create extension statements came by entering "plpy" and then pressing tab. So PostgreSQL knew about them. Still, as you can see, I could drop pypythonu again though it did not appear in the query. After the create extension, it appears as it should: postgres=# select * from pg_available_extension_versions where installed; name | version | installed | superuser | relocatable | schema | requires | comment ------------+---------+-----------+-----------+-------------+------------+----------+-------------------------------------------------------------- plperlu | 1.0 | t | t | f | pg_catalog | | PL/PerlU untrusted procedural language dblink | 1.2 | t | t | t | | | connect to other PostgreSQL databases from within a database plpython3u | 1.0 | t | t | f | pg_catalog | | PL/Python3U untrusted procedural language plpgsql | 1.0 | t | f | f | pg_catalog | | PL/pgSQL procedural language plperl | 1.0 | t | f | f | pg_catalog | | PL/Perl procedural language (5 rows) Is this a bug in 12.4 not showing the extension? Cheers, Paul