Проблема в установке плява на windows - PullRequest
2 голосов
/ 09 июля 2011

Ошибка при установке pl / java на windows 7 x64 и PostgreSQL 9.0.

CREATE FUNCTION sqlj.java_call_handler()
  RETURNS language_handler AS 'pljava'
  LANGUAGE C;

Ошибка:

ОШИБКА: не удалось загрузить библиотеку «C: / Program Файлы / PostgreSQL / 9,0 / Библиотека / pljava.dll ": Указанный модуль не может быть найдено.

*** Ошибка ***

ОШИБКА: не удалось загрузить библиотеку «C: / Program Файлы / PostgreSQL / 9,0 / Библиотека / pljava.dll ": Указанный модуль не может быть найденный. Состояние SQL: 58P01

Но я уверен, что pljava.dll существует в C: / Program Files / PostgreSQL / 9.0 / lib

Ответы [ 2 ]

9 голосов
/ 09 июля 2011

Я обнаружил, что можно установить процедурный язык PL / Java на PostgreSQL 9.0 64 бит на Windows 7 64 бит (у меня было то же сообщение об ошибке, что и у вас).Я вижу (C:/Program Files путь), что у вас есть 64-битная версия PostgreSQL, поэтому вам нужно 64-бит JRE (при условии C:\Program Files\Java\jre6):

  • Загрузить PL / Java 64битовый двоичный пакет из pgFoundry (то есть 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)
0 голосов
/ 11 июня 2013

У меня была точно такая же ошибка и я следовал инструкциям к T, но проблема все та же. Оказывается, мой оператор PATH для включенных в jre кавычек - предполагается, что они мне нужны из-за пробелов в именах каталогов. Убрал цитаты со всех путей и загорелся свет.

Надеюсь, это поможет!

...