0

I've installed PostgreSQL 15.3 on a clean windows 10 laptop with the v3 language pack and I've set the correct paths and environment variables. I can install pltcl and plpython3u languages on the database but plperl will not install. Its reporting this in the logs

src/pl/plperl/Util.c: loadable library and perl binaries are mismatched (got first handshake key 0000000012700080, needed 0000000012600080)

Does anybody have any suggestions how to fix?

Thanks

Foxy
  • 81
  • 1
  • 1
  • 6

1 Answers1

0

The error has occurred because there is version mismatch between the PostgreSQL extension and installed Perl binaries. Check the version of Perl by running command perl -v If the version doesn't match then obtain the correct piperl extension that matches the installed Perl version.

Hope it resolves the issue.

  • No that's correct, it's using 5.36 which is shipped in the language pack from EDB. I've also used a dependency walker on plpetl.dll and that looks the correct version. Going to try compiling from source next. – Foxy Jul 29 '23 at 14:04
  • 1
    I managed to fix it by signing up and downloading ActiveState 5.36.1. Changed the path to look for ActivateState rather than the Perl shipped with the language pack (which is also 5.36.1) and after restarting the PostgreSQL service I could then add the plperl and plperlu languages. – Foxy Jul 30 '23 at 19:30