GMX Steffen <steffen.ang@gmx.de> writes:
> OS Packages:
> *postgresql*-llvmjit-13-lp152.3.1.noarch
> *postgresql*12-pldebugger-1.0+git13.ddbce7b-lp152.1.4.x86_64
> *postgresql*12-llvmjit-12.5-lp152.34.1.x86_64
> *postgresql*-13-lp152.3.1.noarch
> *postgresql*12-docs-12.5-lp152.34.1.noarch
> *postgresql*12-contrib-12.5-lp152.34.1.x86_64
> *postgresql*13-plperl-13.1-lp152.16.1.x86_64
> *postgresql*12-server-12.5-lp152.34.1.x86_64
> *postgresql*-docs-13-lp152.3.1.noarch
> *postgresql*12-12.5-lp152.34.1.x86_64
> *postgresql*12-pg_qualstats-2.0.2-lp152.2.3.x86_64
> *postgresql*12-ip4r-2.4.1+git1.5f9ce88-lp152.8.2.x86_64
> *postgresql*-server-13-lp152.3.1.noarch
> *postgresql*12-pg_qualstats-llvmjit-2.0.2-lp152.2.3.x86_64
> *postgresql*13-docs-13.1-lp152.16.1.noarch
> *postgresql*13-server-13.1-lp152.16.1.x86_64
> *postgresql*-contrib-13-lp152.3.1.noarch
> *postgresql*12-ip4r-llvmjit-2.4.1+git1.5f9ce88-lp152.8.2.x86_64
> *postgresql*13-13.1-lp152.16.1.x86_64
> *postgresql*13-llvmjit-13.1-lp152.16.1.x86_64
> *postgresql*-plperl-13-lp152.3.1.noarch
> *postgresql*12-pldebugger-llvmjit-1.0+git13.ddbce7b-lp152.1.4.x86_64
> *postgresql*13-contrib-13.1-lp152.16.1.x86_64
This ... looks like a bit of a mess. You evidently have three independent
sets of Postgres packages, but surely there should only be two. And
why do they all have "lp152" in the version? (And why are there only
two versions of plperl? And why are some of these "noarch"? That
would make sense for the docs subpackage, but not much else.)
The pg_restore trace gives us no more info than we had before. But
given this package list, I am suspecting some confusion over which
version of plperl.so should get loaded. You might try looking into
the destination postmaster's log file (not pg_upgrade's user-visible
output) to see if there is any low-level message from the dynamic
loader emitted just before it complains about plperlu not existing.
regards, tom lane