Обсуждение: BUG #17102: Running "create or replace language plperl" gives error
The following bug has been logged on the website: Bug reference: 17102 Logged by: Sergio Basurto Email address: sbasurto@soft-gator.com PostgreSQL version: 13.3 Operating system: Gentoo Description: Hello I try in the following versions: Version: PostgreSQL 13.3 on x86_64-pc-linux-gnu, compiled by x86_64-pc-linux-gnu-gcc (Gentoo 9.3.0-r2 p4) 9.3.0, 64-bit Version: PostgreSQL 13.3 on x86_64-pc-linux-gnu, compiled by x86_64-pc-linux-gnu-gcc (Gentoo 10.3.0 p1) 10.3.0, 64-bit In both cases the Perl version is: This is perl 5, version 32, subversion 1 (v5.32.1) built for x86_64-linux When I run "create or replace language plperl" as user postgres database complains: ERROR: CONTEXT: while running Perl initialization Checking logs "postmaster.log" I found: 2021-07-12 11:38:40.637 CDT [6365] ERROR: 2021-07-12 11:38:40.637 CDT [6365] CONTEXT: while running Perl initialization 2021-07-12 11:38:40.637 CDT [6365] STATEMENT: create or replace language plperl; Can't locate utf8_heavy.pl in @INC (@INC contains: /etc/perl /usr/local/lib64/perl5/5.32/x86_64-linux /usr/local/lib64/perl5/5.32 /usr/lib64/perl5/vendor_perl/5.32/x86_64-linux /usr/lib64/perl5/vendor_perl/5.32 /usr/lib64/perl5/5.32/x86_64-linux /usr/lib64/perl5/5.32 /usr/lib64/perl5/vendor_perl/5.30.3 /usr/lib64/perl5/vendor_perl/5.28.2) at -e line 103. I found that utf8_heavy.pl is not longer available in Perl as tell in https://bugzilla.redhat.com/show_bug.cgi?id=1855963. I am not sure if this is a bug but I cannot use plperl in postgresql 13.3 because this problem, I try to solve it coping the file utf8_heavy.pl to required location from other machine but now I get: ERROR: XX000: attempt to redefine parameter "plperl.use_strict" LOCATION: define_custom_variable, guc.c:8659 2021-07-12 12:43:02.012 CDT [14745] ERROR: 2021-07-12 12:43:02.012 CDT [14745] CONTEXT: while running Perl initialization 2021-07-12 12:43:02.012 CDT [14745] STATEMENT: create or replace language plperl; 2021-07-12 12:49:28.630 CDT [14745] ERROR: attempt to redefine parameter "plperl.use_strict" Also try with "create or replace language plperlu" and get same errors. Please let me know if I need to supply more information or I can help in any way. Best Regards,
Re: BUG #17102: Running "create or replace language plperl" gives error
От
"Ing Sergio Basurto J."
Дата:
El 2021-07-12 13:16, PG Bug reporting form escribió:
The following bug has been logged on the website:
Bug reference: 17102
Logged by: Sergio Basurto
Email address: sbasurto@soft-gator.com
PostgreSQL version: 13.3
Operating system: Gentoo
Description:
Hello I try in the following versions:
Version: PostgreSQL 13.3 on x86_64-pc-linux-gnu, compiled by
x86_64-pc-linux-gnu-gcc (Gentoo 9.3.0-r2 p4) 9.3.0, 64-bit
Version: PostgreSQL 13.3 on x86_64-pc-linux-gnu, compiled by
x86_64-pc-linux-gnu-gcc (Gentoo 10.3.0 p1) 10.3.0, 64-bit
In both cases the Perl version is: This is perl 5, version 32, subversion 1
(v5.32.1) built for x86_64-linux
When I run "create or replace language plperl" as user postgres database
complains:
ERROR:
CONTEXT: while running Perl initialization
Checking logs "postmaster.log" I found:
2021-07-12 11:38:40.637 CDT [6365] ERROR:
2021-07-12 11:38:40.637 CDT [6365] CONTEXT: while running Perl
initialization
2021-07-12 11:38:40.637 CDT [6365] STATEMENT: create or replace language
plperl;
Can't locate utf8_heavy.pl in @INC (@INC contains: /etc/perl
/usr/local/lib64/perl5/5.32/x86_64-linux /usr/local/lib64/perl5/5.32
/usr/lib64/perl5/vendor_perl/5.32/x86_64-linux
/usr/lib64/perl5/vendor_perl/5.32 /usr/lib64/perl5/5.32/x86_64-linux
/usr/lib64/perl5/5.32 /usr/lib64/perl5/vendor_perl/5.30.3
/usr/lib64/perl5/vendor_perl/5.28.2) at -e line 103.
I found that utf8_heavy.pl is not longer available in Perl as tell in
https://bugzilla.redhat.com/show_bug.cgi?id=1855963.
I am not sure if this is a bug but I cannot use plperl in postgresql 13.3
because this problem, I try to solve it coping the file utf8_heavy.pl to
required location from other machine but now I get:
ERROR: XX000: attempt to redefine parameter "plperl.use_strict"
LOCATION: define_custom_variable, guc.c:8659
2021-07-12 12:43:02.012 CDT [14745] ERROR:
2021-07-12 12:43:02.012 CDT [14745] CONTEXT: while running Perl
initialization
2021-07-12 12:43:02.012 CDT [14745] STATEMENT: create or replace language
plperl;
2021-07-12 12:49:28.630 CDT [14745] ERROR: attempt to redefine parameter
"plperl.use_strict"
Also try with "create or replace language plperlu" and get same errors.
Please let me know if I need to supply more information or I can help in any
way.
Best Regards,
I want to make a precision, after put utf8_heavy.pl in the path "/usr/lib64/perl5/5.32/x86_64-linux/utf8_heavy.pl" and restart postgresql database, I can create the languages "plperl" and "plperlu" without any errors.
I get the utf8_heavy.pl from a host with Perl version: This is perl 5, version 30, subversion 3 (v5.30.3) built for x86_64-linux
Best Regards,
--