sql >> Database >  >> RDS >> PostgreSQL

FOUT:kon bibliotheek "/opt/PostgreSQL/9.0/lib/postgresql/plperl.so" niet laden:libperl.so:

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.


  1. Wachtwoord wijzigen met Oracle SQL Developer

  2. Hoe praat Access met ODBC-gegevensbronnen? Deel 6

  3. Retournummer uit Oracle Select-statement na parseerdatum

  4. 10 seconden toevoegen in current_timestamp SQL (Oracle)