psql -1f check_email.pl.sql ccushing postgres
SET
psql:check_email.pl.sql:7: ERROR: Can't locate Email/Valid.pm in @INC (@INC contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at line 3.
BEGIN failed--compilation aborted at line 3.
CONTEXT: compilation of PL/Perl function "check_email"
我现在@INC
的是
@INC:
/home/ccushing/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/x86_64-linux
/home/ccushing/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2
/home/ccushing/perl5/perlbrew/perls/perl-5.14.2/lib/5.14.2/x86_64-linux
/home/ccushing/perl5/perlbrew/perls/perl-5.14.2/lib/5.14.2
显然我的问题是Email::Valid
不在我的@INC
,我可以全局更改 Postgres @INC 路径吗?还相关的是 postgres 只能使用它所针对的 Perl 吗?或者我可以让它使用我的perlbrew
.
你不能在使用它之前将它推入@INC吗?在你的函数的第一行?我很确定那应该有效。
PostgreSQL 只会使用它所针对的 perl。您必须根据您的自定义 perl 重建它(或至少 plperl)。