Andres Freund <andres@anarazel.de> writes:
> Another alternative would be to have a 'plpython' extension that depends
> on plpython2. That'd require users to specify CASCADE when creating it,
> but that actually seems like it could be a useful hint... I think it's
> probably not worth going that route though, because reassigning objects
> from one extension to another is more work than reasonable...
Yeah, there's a separate set of questions about what happens during
pg_upgrade of a database containing the existing plpythonu extension.
You could imagine hacking the dump/reload case by defining plpythonu
as an empty extension with a dependency on plpython2u (or, maybe
someday in future, a dependency on plpython3u). But that won't do
the trick for binary upgrades; we might need special-case code in
pg_dump/pg_upgrade to fix that.
regards, tom lane