在Postgresql-9.5上安装PL / Java时如何修复“ SPI_ERROR_UNCONNECTED”错误

时间:2019-06-21 08:58:51

标签: postgresql-9.5 pljava

我正在尝试在PostgreSQL-9.5上安装PL / Java。我当前的服务器是Ubuntu 16.04。我安装PL / Java的参考链接是官方网站:https://tada.github.io/pljava/install/install.html

如链接https://tada.github.io/pljava/build/build.html中所述,PL / Java的构建过程运行良好。

当我运行mvn clean install时,输出为:maven output

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] PostgreSQL PL/Java ................................. SUCCESS [  1.049 s]
[INFO] PL/Java API ........................................ SUCCESS [  2.499 s]
[INFO] PL/Java backend Java code .......................... SUCCESS [  1.574 s]
[INFO] PL/Java backend native code ........................ SUCCESS [ 17.971 s]
[INFO] PL/Java Ant tasks .................................. SUCCESS [  0.179 s]
[INFO] PL/Java examples ................................... SUCCESS [  0.747 s]
[INFO] PL/Java packaging .................................. SUCCESS [  0.736 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 25.420 s
[INFO] Finished at: 2019-06-21T01:31:58-07:00
[INFO] Final Memory: 47M/576M
[INFO] ------------------------------------------------------------------------

运行自解压安装程序JAR时,输出为:JAR Installer output

/usr/lib/postgresql/9.5/lib/libpljava-so-1.6.0-SNAPSHOT.so as bytes
/usr/share/postgresql/9.5/pljava/pljava-1.6.0-SNAPSHOT.jar as bytes
/usr/share/postgresql/9.5/pljava/pljava-api-1.6.0-SNAPSHOT.jar as bytes
/usr/share/postgresql/9.5/pljava/pljava-examples-1.6.0-SNAPSHOT.jar as bytes
/usr/share/postgresql/9.5/extension/pljava.control as lines (ASCII)
/usr/share/postgresql/9.5/pljava/pljava--1.6.0-SNAPSHOT.sql as lines (UTF8)
/usr/share/postgresql/9.5/pljava/pljava--unpackaged--1.6.0-SNAPSHOT.sql as lines (UTF8)
/usr/share/postgresql/9.5/pljava/pljava--1.5.2--1.6.0-SNAPSHOT.sql as lines (UTF8)
/usr/share/postgresql/9.5/pljava/pljava--1.5.1--1.6.0-SNAPSHOT.sql as lines (UTF8)
/usr/share/postgresql/9.5/pljava/pljava--1.5.1-BETA3--1.6.0-SNAPSHOT.sql as lines (UTF8)
/usr/share/postgresql/9.5/pljava/pljava--1.5.1-BETA2--1.6.0-SNAPSHOT.sql as lines (UTF8)
/usr/share/postgresql/9.5/pljava/pljava--1.5.1-BETA1--1.6.0-SNAPSHOT.sql as lines (UTF8)
/usr/share/postgresql/9.5/pljava/pljava--1.5.0--1.6.0-SNAPSHOT.sql as lines (UTF8)
/usr/share/postgresql/9.5/pljava/pljava--1.5.0-BETA3--1.6.0-SNAPSHOT.sql as lines (UTF8)
/usr/share/postgresql/9.5/pljava/pljava--1.5.0-BETA2--1.6.0-SNAPSHOT.sql as lines (UTF8)
/usr/share/postgresql/9.5/pljava/pljava--1.5.0-BETA1--1.6.0-SNAPSHOT.sql as lines (UTF8)

我也明确设置了libjvm_location:libjvm_location set

postgres=# alter system set pljava.libjvm_location to '/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so';
ALTER SYSTEM
postgres=#

当我运行 CREATE EXTENSION pljava 时,出现以下错误:

postgres=# CREATE EXTENSION pljava;
ERROR:  java.sql.SQLException: SPI function SPI_prepare failed with error SPI_ERROR_UNCONNECTED

1 个答案:

答案 0 :(得分:0)

另一个古老的问题,回答这个问题是为了将来的访客会发现一些东西。

在此问题中,正在构建的PL / Java版本是未发布的版本(1.6.0-SNAPSHOT),当时根本没有包括支持PostgreSQL 9.5的更改。

快照版本以及从master(开发)分支构建的任何内容都是移动的目标,可能距离发行很远,无法正常工作,让您的房子着火等。建议的做法是检查{{3 }},然后选择最新的正式版本。

如果要在Ubuntu或Debian上使用它,而不是从源代码构建,通常更简单地添加the releases page和简单地添加apt-get install postgresql-9.5-pljava(或者您的PostgreSQL版本代替9.5)。

相关问题