Thread: plperl.dll on windows with postgresql 9.0.3

plperl.dll on windows with postgresql 9.0.3

From
Robert Fitzpatrick
Date:
I am upgrading a Windows install from 8.2.x to 9.0.3. ActivePerl 5.8 was
already installed, but when I run the createlang command to install into
my database, I get...

could not load library “C:/Program Files/PostgreSQL/8.3/lib/plperl.dll”:
The specified module could not be found. SQL state: 58P01

I see the plperl.dll in that very location in the error. I looked at the
functions of pg_catalog and the plperl functions are not there like
plpgsql call handler, etc.

I thought this was due to the older version of ActivePerl, so I
uninstall Postgres and ActivePerl, restarted, downloaded and installed
latest ActivePerl 5.12, restarted and re-installed Postgres, and
restarted yet again to still get the error. I did a search and find
perhaps 5.12 does not work (at least during beta)?

> http://postgresql.1045698.n5.nabble.com/BUG-5601-cannot-create-language-plperl-td2264970.html

I am installing on Windows 2003 server. Unfortunately I never installed
Postgres on Windows prior to the pginstaller, so I'm not sure what else
needs to be done for PostgreSQL to find the module. Since I see the
module dll in the lib folder, I assume a separate package is not needed
like I am accustomed to under BSD, is that right and it should find
without further config or installs?

Thanks.
--
Robert <robert@webtent.org>

Re: plperl.dll on windows with postgresql 9.0.3

From
Robert Fitzpatrick
Date:
On 2/8/2011 11:58 AM, Robert Fitzpatrick wrote:
> could not load library “C:/Program Files/PostgreSQL/8.3/lib/plperl.dll”:
> The specified module could not be found. SQL state: 58P01

Sorry the correct error I am getting is...

could not load library “C:/Program Files/PostgreSQL/9.0/lib/plperl.dll”:
> The specified module could not be found. SQL state: 58P01

The previous was copied from a post found on the net when searching for
solutions.

Thanks for any help!
--
Robert <robert@webtent.org>

Re: plperl.dll on windows with postgresql 9.0.3

From
Peter Geoghegan
Date:
I don't use pl/perl, but I've seen a very similar "could not load
library" error with pl/python on Windows, even though the dll named
was present. Windows gives very bad error messages when it fails to
dynamically link. You could use something like dependency walker,
which is probably a pain. I think that plperl.dll simply wants to link
to a major version of perl that you don't have. It's a matter of
finding out which and installing it.

--
Regards,
Peter Geoghegan

Re: plperl.dll on windows with postgresql 9.0.3

From
Robert Fitzpatrick
Date:
On 2/8/2011 12:03 PM, Robert Fitzpatrick wrote:
> On 2/8/2011 11:58 AM, Robert Fitzpatrick wrote:
>> could not load library “C:/Program Files/PostgreSQL/8.3/lib/plperl.dll”:
>> The specified module could not be found. SQL state: 58P01
>
> Sorry the correct error I am getting is...
>
> could not load library “C:/Program Files/PostgreSQL/9.0/lib/plperl.dll”:
>> The specified module could not be found. SQL state: 58P01
>
> The previous was copied from a post found on the net when searching for
> solutions.
>

Finally found the solution to this issue, it seems PostgreSQL is looking
for perl510.dll, or earlier perhaps...

> http://stackoverflow.com/questions/4129479/strawberry-perl-5-12-as-postgresql-9-0s-plperl-on-win32

I also renamed my ActivePerl library from perl512.dll and perl510.dll to
solve. Does this mean I may run into issues with the new Perl? I also
tried 5.8.x and could not get plperl.dll installed with same error.
--
Robert <robert@webtent.org>