Установка PL/Java на MAC
У меня действительно есть проблемы с установкой Pl/Java на Mac, любая помощь будет оценена.
Я опишу точные шаги, которые я сделал в соответствии с README, но я все еще получаю некоторые ошибки, которые не могу устранить.
(1) Я скачал эту версию: pljava-i686-pc-linux-gnu-pg9.0-1.4.2
(2) Я нашел три файла в каталоге: pljava.jar
, deploy.jar
, pljava.so
(3) Я положил два .jars внутрь: /Library/PostgreSQL/9.0/lib
(4) Я положил .so внутрь: /Library/PostgreSQL/9.0/data
(5) Я изменил postgresql.conf
следующее:
dynamic_library_path = '$libdir'
custom_variable_classes = 'pljava'
pljava.classpath = '/Library/PostgreSQL/9.0/lib/pljava.jar’
(6) Я также попробовал:
dynamic_library_path = '$libdir:/Library/PostgreSQL/9.0/lib/' (as well as...)
dynamic_library_path = '$libdir:/Library/PostgreSQL/9.0/data/'
(7) Затем я пытаюсь запустить:
Select sqlj.install_jar('/Software/Libraries/test_trigger.jar', 'samples', false);
Select sqlj.set_classpath(‘public’, ‘samples’);
Хотя я продолжаю получать эту ошибку:
WARNING: java.lang.NoSuchMethodError: Method org.postgresql.pljava.internal.Portal._fetch(JZI)I not found
ERROR: Unable to register native methods
********** Error **********
ERROR: Unable to register native methods
SQL state: XX000
1 ответ
Это звучит так, как будто проблема не в загрузке правильного.jar. Вы упомянули в своих комментариях, что у вас также была проблема с соответствующими переменными среды, указывающими, куда загружать модули. Это на самом деле может быть вашей главной проблемой. Похоже, эквивалентная переменная среды DYLD_LIBRARY_PATH
хотя вы можете получить больше вариантов, посмотрев на man dyld
и, очевидно, если вы загружаете не тот.so или.jar, вы получите такие ошибки.