The following bug has been logged on the website:
Bug reference: 7882
Logged by: Jeff Janes
Email address: jeff.janes@gmail.com
PostgreSQL version: 9.2.3
Operating system: Linux
Description: =
If plperl.on_init attempts to load a module which does not exist, then
attempts to use plperl give a reasonable error message upon first attempt,
but after that the error message is rather cryptic.
in postgresql.conf:
plperl.on_init=3D'use Nonexistent::Module;'
CREATE OR REPLACE FUNCTION perlfunc(text) RETURNS text AS $BODY$ return
scalar reverse $_[0]; $BODY$ LANGUAGE plperl;
ERROR: Can't locate Nonexistent/Module.pm in @INC (@INC contains: ... .)
at -e line 98.
BEGIN failed--compilation aborted
CONTEXT: while parsing Perl initialization
Upon a second attempt, the error becomes much less useful:
CREATE OR REPLACE FUNCTION perlfunc(text) RETURNS text AS $BODY$ return
scalar reverse $_[0]; $BODY$ LANGUAGE plperl;
ERROR: attempt to redefine parameter "plperl.use_strict"