我一直在努力在 OpenSuse、Mageia 或 Manjaro 上的 Postgres(9.2、9.3 或 9.4)上安装 PL/Java……我不想抱怨——但是 PL/Java 文档很糟糕。而且我已经用谷歌搜索了 2 周以上的安装帮助,但进展甚微......
有谁知道如何完成这个安装?如果是这样,你能不能用这个不言而喻的秘密来启迪世界!
以下是一般形式:
- 安装 Oracle JRE/JDK
- 安装 PostgreSQL
- 安装 PL/Java依赖项
- 使用Maven打包PL/Java
- 尝试使用 install.sql (+config 的东西) 安装 PL/Java
第 1-3 步有据可查且不言自明,第 4 步似乎直截了当,但在第 5 步,我似乎无法取得任何进展......
安装/尝试过的内容:
4 将 pljava.jar 和 pljava.so 文件(由 Maven 构建)移动到某个位置,例如:
/usr/lib/postgresql
5.1 创建一个 postgres.conf 文件,并将其放入 /etc/ld.so.conf.d/ 内容:
/usr/lib/jvm/jdk1.7.0_79/jre/lib
/usr/lib/jvm/jdk1.7.0_79/jre/lib/i386/server
5.2 更新 /usr/share/postgres93/data/ 中的 postgresql.conf 文件,添加以下内容:
pljava.classpath = '/usr/lib/postgresql/pljava.jar'
5.3 在数据库上运行 install.sql 脚本(比如说 postgres -因为它存在 OOTB)
psql -d postgres -f /somelocation/install.sql
从我能找到的少量信息来看,这应该是所需要的,但是在执行 install.sql 时出现以下错误。
psql:/home/pljava/install.sql:6: ERROR: could not access file "pljava": No such file or directory
psql:/home/pljava/install.sql:8: ERROR: function sqlj.java_call_handler() does not exist
psql:/home/pljava/install.sql:12: ERROR: could not access file "pljava": No such file or directory
psql:/home/pljava/install.sql:14: ERROR: function sqlj.javau_call_handler() does not exist
CREATE TABLE
GRANT
CREATE TABLE
GRANT
CREATE TABLE
GRANT
CREATE TABLE
GRANT
CREATE TABLE
GRANT
psql:/home/pljava/install.sql:59: ERROR: language "java" does not exist
psql:/home/pljava/install.sql:63: ERROR: language "java" does not exist
psql:/home/pljava/install.sql:67: ERROR: language "java" does not exist
psql:/home/pljava/install.sql:71: ERROR: language "java" does not exist
psql:/home/pljava/install.sql:75: ERROR: language "java" does not exist
psql:/home/pljava/install.sql:79: ERROR: language "java" does not exist
psql:/home/pljava/install.sql:83: ERROR: language "java" does not exist
psql:/home/pljava/install.sql:87: ERROR: language "java" does not exist
psql:/home/pljava/install.sql:91: ERROR: language "java" does not exist
有任何想法吗?这看起来可能是java类路径问题?