Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
share|improve this question
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? – Erwin Brandstetter 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)


share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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