0

我真的很难在 Mac 上安装 Pl/Java,任何帮助将不胜感激。

我将根据此处的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
4

1 回答 1

0

这听起来像是一个问题在于没有加载正确的 .jar。您在评论中提到,您在指定加载模块的位置的适当环境变量方面也存在问题。这实际上可能是您的主要问题。看起来等效的环境变量DYLD_LIBRARY_PATH虽然您可以通过查看获得更多选项,但man dyld显然如果您加载了错误的 .so 或 .jar ,您将收到类似这样的错误。

于 2013-03-23T05:15:36.313 回答