Bovenstaande fout gegooid, toen ik probeerde taal plperlu te maken. Het geeft aan dat er een ontbrekende bibliotheek libperl.so is. Bekijk de stappen die zijn uitgevoerd om dit probleem op te lossen en met succes de plperlu-taal in PostgreSQL te maken.
Methode 1 (De libperl.so vinden en softlink maken naar die locatie)
postgres=# create LANGUAGE plperlu;
ERROR: could not load library "/opt/PostgreSQL/9.0/lib/postgresql/plperl.so": libperl.so: cannot open shared object file: No such file or directory
postgres=# q
Zoek nu naar het bestand libperl.so in je box en voeg die locatie toe aan je LD_LIBRARY PATH. Vergeet niet van gebruiker over te schakelen naar postgre.
[root@localhost /]# find -name libperl.so
./usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/libperl.so
./usr/lib/perl5/CORE/libperl.so
./usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE
[root@localhost /]# su - postgres
Stel de LD_LIBRARY_PATH
. in-bash-4.1$ export LD_LIBRARY_PATH=/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE:$LD_LIBRARY_PATH
Start het cluster opnieuw om de wijzigingen door te voeren.
-bash-4.1$ pg_ctl restart
waiting for server to shut down....... done
server stopped
server starting
U bent nu klaar om de taal te maken.
-bash-4.1$ psql
psql (9.0.1)
Type "help" for help.
postgres=# create LANGUAGE plperlu;
CREATE LANGUAGE
Methode 2 (door de nieuwste ActivePerl te installeren)
Stap 1:
Na het installeren van ActivePerl, stelt u de LD_LIBRARY_PATH in.
postgres@localhost:/opt/ActivePerl-5.12/lib/CORE> export LD_LIBRARY_PATH=/opt/ActivePerl-5.12/lib/CORE:/opt/PostgreSQL/9.0/lib/postgresql
Stap 2:
postgres@localhost:/opt/PostgreSQL/9.0/lib/postgresql> ldd plperl.so
linux-vdso.so.1 => (0x00007fff8cf79000)
libperl.so => /opt/ActivePerl-5.12/lib/CORE/libperl.so (0x00007fbd3d654000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fbd3d40a000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fbd3d206000)
libm.so.6 => /lib64/libm.so.6 (0x00007fbd3cfb0000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fbd3cd74000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007fbd3cb71000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbd3c954000)
libc.so.6 => /lib64/libc.so.6 (0x00007fbd3c5f5000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbd3dad8000)
Stap 3:
postgres@localhost:/opt/PostgreSQL/9.0/lib/postgresql> pg_ctl restart
postgres@localhost:/opt/PostgreSQL/9.0/lib/postgresql> psql
psql (9.0.2)
Type "help" for help.
postgres=# create language plperlu;
CREATE LANGUAGE
Plaats uw opmerkingen.