PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

GALAT:tidak dapat memuat pustaka “/opt/PostgreSQL/9.0/lib/postgresql/plperl.so”:libperl.so:

Kesalahan di atas dilemparkan, ketika saya mencoba membuat bahasa plperlu. Ini menunjukkan bahwa ada perpustakaan libperl.so yang hilang. Lihat langkah-langkah yang dilakukan untuk mengatasi masalah ini dan berhasil membuat bahasa plperlu di PostgreSQL.

Metode 1 (Menemukan libperl.so dan membuat softlink ke lokasi tersebut)

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

Sekarang, cari file libperl.so di kotak Anda dan tambahkan lokasi itu ke LD_LIBRARY PATH Anda. Jangan lupa mengalihkan pengguna ke postgres.

[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

Setel LD_LIBRARY_PATH

-bash-4.1$ export LD_LIBRARY_PATH=/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE:$LD_LIBRARY_PATH

Mulai ulang kluster untuk melakukan perubahan.

-bash-4.1$ pg_ctl restart
waiting for server to shut down....... done
server stopped
server starting

Anda sekarang siap untuk membuat bahasa.

-bash-4.1$ psql
psql (9.0.1)
Type "help" for help.

postgres=# create LANGUAGE plperlu;
CREATE LANGUAGE

Metode 2 (Dengan menginstal ActivePerl terbaru)

Langkah 1:
Setelah menginstal ActivePerl, setel LD_LIBRARY_PATH.

postgres@localhost:/opt/ActivePerl-5.12/lib/CORE> export LD_LIBRARY_PATH=/opt/ActivePerl-5.12/lib/CORE:/opt/PostgreSQL/9.0/lib/postgresql

Langkah 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)

Langkah 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

Kirimkan komentar Anda.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengonversi String ke Tanggal di PostgreSQL

  2. PGError:ERROR:agregat tidak diizinkan dalam klausa WHERE pada kueri AR dari suatu objek dan objek has_many-nya

  3. Bagaimana cara menulis fungsi yang mengembalikan nilai teks atau bilangan bulat?

  4. Sisipkan gambar di database postgresql

  5. Cara Mendapatkan Tanggal dan Waktu Saat Ini (Tanpa Zona Waktu) di PostgreSQL