Error on installing pl/java on windows 7 x64 and PostgreSQL 9.0.
CREATE FUNCTION sqlj.java_call_handler()
RETURNS language_handler AS 'pljava'
LANGUAGE C;
Error:
ERROR: could not load library "C:/Program Files/PostgreSQL/9.0/lib/pljava.dll": The specified module could not be found.
*** Error ***
ERROR: could not load library "C:/Program Files/PostgreSQL/9.0/lib/pljava.dll": The specified module could not be found. SQL state: 58P01
But I'm sure that pljava.dll exists in C:/Program Files/PostgreSQL/9.0/lib
I found it's possible to install PL/Java procedural language on PostgreSQL 9.0 64 bit on Windows 7 64 bit (I had same errore message as yours). I see (C:/Program Files
path) that you have 64 bit version of PostgreSQL, so you need 64 bit JRE (assuming 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
directorypljava.dll
into C:\Program
Files\PostgreSQL\9.0\lib
directorypostgresql.conf
(data):custom_variable_classes = 'pljava' pljava.classpath='C:\\Program Files\\PostgreSQL\\9.0\\share\\pljava\\pljava.jar'
PATH
(My Computer → Properties → Advanced → Environment Variables):;C:\Program Files\Java\jre6\bin;C:\Program Files\Java\jre6\bin\server
(you can create another JRE_HOME
variable if you like and then write ;%JRE_HOME%\bin;%JRE_HOME%\bin\server
)
After that restart PostgreSQL service (postgresql-x64-9.0) and load C:\Program Files\PostgreSQL\9.0\share\pljava\install.sql
again. Check:
postgres=# SELECT lanname FROM pg_language;
lanname
----------
internal
c
sql
plpgsql
java
javau
(6 rows)