Hi Tom,

> On 26. Sep, 2020, at 16:07, Tom Lane <t...@sss.pgh.pa.us> wrote:
> 
> =?utf-8?Q?Paul_F=C3=B6rster?= <paul.foers...@gmail.com> 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

Reply via email to