在Windows 7 x64和PostgreSQL 9.0上安装pl / java时出错。
CREATE FUNCTION sqlj.java_call_handler()
RETURNS language_handler AS 'pljava'
LANGUAGE C;
错误:
错误:无法加载库 “C:/程序 文件/ PostgreSQL的/ 9.0 / lib目录/ pljava.dll“: 指定的模块不能 找到。
*** 错误 ** *
错误:无法加载库 “C:/程序 文件/ PostgreSQL的/ 9.0 / lib目录/ pljava.dll“: 指定的模块不能 找到。 SQL状态:58P01
但我确信在C:/ Program Files / PostgreSQL / 9.0 / lib中存在pljava.dll
答案 0 :(得分:9)
我发现可以在Windows 7 64位上的PostgreSQL 9.0 64位上安装PL / Java过程语言(我有与你相同的错误消息)。我看到(C:/Program Files
路径)你有64位版本的PostgreSQL,所以你需要 64位 JRE(假设C:\Program Files\Java\jre6
):
pljava-x86_64-w64-mingw32-pg9.0-1.4.2.tar.gz
)C:\Program Files\PostgreSQL\9.0\share\pljava
目录pljava.dll
放入C:\Program
Files\PostgreSQL\9.0\lib
目录postgresql.conf
(数据):custom_variable_classes = 'pljava' pljava.classpath='C:\\Program Files\\PostgreSQL\\9.0\\share\\pljava\\pljava.jar'
PATH
(我的电脑→属性→高级→环境变量):;C:\Program Files\Java\jre6\bin;C:\Program Files\Java\jre6\bin\server
(如果您愿意,可以创建另一个JRE_HOME
变量然后编写;%JRE_HOME%\bin;%JRE_HOME%\bin\server
)
之后重新启动PostgreSQL服务(postgresql-x64-9.0)并再次加载C:\Program Files\PostgreSQL\9.0\share\pljava\install.sql
。检查:
postgres=# SELECT lanname FROM pg_language;
lanname
----------
internal
c
sql
plpgsql
java
javau
(6 rows)
答案 1 :(得分:0)
我有完全相同的错误,并按照说明进行了T,但仍然是同样的问题。原来我的PATH语句包含jre包含的引号 - 假设我需要它们,因为目录名中有空格。删除了jre路径周围的引号,灯亮了。
希望这有帮助!