=?utf-8?Q?Paul_F=C3=B6rster?= <paul.foerster@gmail.com> writes:
> On 26. Sep, 2020, at 16:07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> 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
databasesfrom 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
Actually, now that I think about it, you're querying the wrong view.
I'm too lazy to check the source code right now, but I'm pretty sure
that pg_available_extension_versions is mostly driven off what control
files exist in the on-disk libdir. But that may have little to do with
what's in the system catalogs. You should have checked pg_extension,
or just "\dx" in psql.
regards, tom lane