Support Article
PLJava PostgreSQL could not load library, function not exist
SA-15889
Summary
You cannot install PLJava successfully for the application of UDFs.
Setting up a PostgreSQL database and running the PLJava installation file fails with error messages.
Error Messages
CREATE FUNCTION sqlj.java_call_handler()
RETURNS language_handler AS 'pljava'
LANGUAGE C
ERROR: could not load library "C:/Program Files/PostgreSQL/9.3/lib/pljava.dll": The specified procedure could not be found.
[WARNING ] CREATE TRUSTED LANGUAGE java HANDLER sqlj.java_call_handler
ERROR: function sqlj.java_call_handler() does not exist
[WARNING ] CREATE FUNCTION sqlj.javau_call_handler()
RETURNS language_handler AS 'pljava'
LANGUAGE C
ERROR: could not load library "C:/Program Files/PostgreSQL/9.3/lib/pljava.dll": The specified procedure could not be found.
[WARNING ] CREATE LANGUAGE javaU HANDLER sqlj.javau_call_handler
ERROR: function sqlj.javau_call_handler() does not exist
Steps to Reproduce
- Add the pljava.jar and pljava.dll to the postgreSQL\lib.
- Change the postgreSQL.conf and pg_hba.conf as described in the deployment guide.
- Run the install file from \\PRPCMedia\\ResourceKit\PLJava\9.3\Windows.
Root Cause
A software use or operation error
Resolution
Perform the following steps:
Step 1: Install Postgresql 9.3 'postgresql-9.3.5-1-windows-x64.exe' in a location except in 'C:\Program files'
Step 2: Download Postgresql 9.3 driver .jar file as 'postgresql-9.3-1103.jdbc4'
Step 3: Deploy pljava as follows
-Make sure your PATH variable contains a path entry for the jvm.dll file, add %JAVA_HOME%/bin/Server to your PATH variable
-Copy the pljava.dll and pljava.jar files from the windows directory in the ResourceKit folder to the <Postgres Home>\lib directory
-Update the postgres.conf file located in <Postgres Home>\data directory with the settings below where <Postgres Home>
is the path to the Postgres lib directory however make sure each directory is marked with a \\ (yes that is the correct format)
work_mem = 5MB
pljava.classpath='C:\\PostgreSQL\\9.3\\lib\\pljava.jar'
-Open command prompt and run following command to deploy pljava
java -classpath "<Postgres JDBC.jar path>;<pljava/deploy.jar path>" org.postgresql.pljava.deploy.Deployer -install -database <dbname> -user <user name> -pass <user password>
-Stop and restart the Postgres service from the windows services control panel
Step 4: Check for sqlj schema that should be created in your database.
Step 5: Run PRPC_Setup.jar file.
Published January 31, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.