In order to get plperlu added as a language on our Greenplum 4.0RHEL5 cluster I had to take a couple additional steps. My first unhappy message was
db=# CREATE LANGUAGE plperlu;
ERROR: could not load library “/usr/local/greenplum-db-4.0.4.3/lib/postgresql/plperl.so”:
libperl.so: cannot open shared object file: No such file or directory
db=# CREATE LANGUAGE plperlu;ERROR: could not load library “/usr/local/greenplum-db-4.0.4.3/lib/postgresql/plperl.so”:
libperl.so: cannot open shared object file: No such file or directory
So greenplum can’t find libperl.so
[gpadmin@mdw ~]$ locate libperl.so
/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl.so
Looks like it’s on the system so I just need to make it available
[root@mdw ~]# echo “/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/” > /etc/ld.so.conf.d/perl.conf
[root@mdw ~]# ldconfig
Next I went out and did the same thing on all the nodes using gpssh. Then it’s back to the master and we try to create the language again
db=# CREATE LANGUAGE plperlu;
CREATE LANGUAGE
Time: 892.420 ms
I should note that I tried to install plperl on the SLES11 servers we had and ran into an issue because the version of perl on SLES11 is 5.10 and unfortunately the plperl.so within Greenplum’s distro is looking for 5.8. I didn’t look for a fix because I knew we were going to jump to Redhat in the near future and it would work there.