When I create language plperl , I get error: ERROR: could not load library "C:/Program Files/PostgreSQL/9.1/lib/plperl.dll": The specified module could not be found.

But in my computer, "plperl.dll" file is exist in "C:/Program Files/PostgreSQL/9.1/lib/..." folder ( I can not post illustrative image, this forum require >= 10 reputations)

And if I select * pg_pltemplate, I get:

-[ RECORD 4 ]-+-------------------------
tmplname      | plperl
tmpltrusted   | t
tmpldbacreate | t
tmplhandler   | plperl_call_handler
tmplinline    | plperl_inline_handler
tmplvalidator | plperl_validator
tmpllibrary   | $libdir/plperl
  • If the file exists, the next question is: does the OS user running postgres have permission to load it? You might make this easier by disclosing your OS. Windows something I suppose? Aug 9 '13 at 14:04
  • Thanks Erwin Brandsetter. I've grant permission for user "postgres" (right click in folder -> properties->Edit->Add) and it can not fix . Library folder ("C:\Program Files\PostgreSQL\9.1\lib") have "plpgsql.dll", plperl.dll . But I can create or replace language "plpgsql" (of course, it load "plpgsql.dll" from this library). So , I think "permission" is not a problem.
    – Luan Huynh
    Aug 10 '13 at 3:07

Because I missed 3 files dll (MSVCR90.DLL, PERL514.DLL, IESHIMS.DLL) in Windows I could not install the language pl/Perl.

Here my steps to solve:

  • Using "Dependency Walker" tool to check dll files missing (if any). After installing, you open plperl.dll file and find errors.
  • Install dll files missing.
  • Install ActivePerl (to install Perl on window, It will automatically set Perl bin folder to windows environment variable)
  • Restart postgresql service
  • Test:

        createlang -U postgres plperl postgre  (it's ok)
        CREATE or replace LANGUAGE plperl      (it's ok)

Download (I just can post 2 links)

Reference: http://www.mkyong.com/database/install-perl-in-postgresql-the-specified-module-could-not-be-found/

  • I think you can use Strawberry Perl too, right? Oct 19 '17 at 16:52
  • Ah, I remember that I didn't use it.
    – Luan Huynh
    Oct 20 '17 at 2:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.