उपरोक्त त्रुटि फेंकी गई, जब मैं भाषा plperlu बनाने की कोशिश कर रहा था। यह इंगित करता है कि एक लापता पुस्तकालय libperl.so है। इस समस्या को दूर करने और PostgreSQL में सफलतापूर्वक plperlu भाषा बनाने के लिए किए गए चरणों की जाँच करें।
विधि 1 (libperl.so ढूँढना और उस स्थान पर सॉफ्टलिंक बनाना)
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
अब, अपने बॉक्स में libperl.so फ़ाइल खोजें और उस स्थान को अपने LD_LIBRARY PATH में जोड़ें। उपयोगकर्ता को पोस्टग्रेज़ पर स्विच करना न भूलें।
[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
LD_LIBRARY_PATH सेट करें
-bash-4.1$ export LD_LIBRARY_PATH=/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE:$LD_LIBRARY_PATH
परिवर्तनों को प्रभावी करने के लिए क्लस्टर को पुनरारंभ करें।
-bash-4.1$ pg_ctl restart
waiting for server to shut down....... done
server stopped
server starting
अब आप भाषा बनाने के लिए तैयार हैं।
-bash-4.1$ psql
psql (9.0.1)
Type "help" for help.
postgres=# create LANGUAGE plperlu;
CREATE LANGUAGE
विधि 2 (नवीनतम ActivePerl स्थापित करके)
चरण 1:
ActivePerl स्थापित करने के बाद, 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
चरण 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)
चरण 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
अपनी टिप्पणियाँ पोस्ट करें।