gpt4 book ai didi

postgresql - 使用 Postgres Ver. 在 Unix 上安装 PL/Java。 9.2+

转载 作者:行者123 更新时间:2023-11-29 13:28:01 28 4
gpt4 key购买 nike

我一直在努力在 OpenSuse、Mageia 或 Manjaro 上的 Postgres(9.2、9.3 或 9.4)上安装 PL/Java...我不想提示 - 但 PL/Java 文档太糟糕了。我已经用谷歌搜索了 2 个多星期的安装帮助,但进展甚微......

有人知道如何完成这个安装吗?如果是这样,您能否用这个未说导出的 secret 来启发世界!

下面是一般形式:

  1. 安装甲骨文JRE/JDK
  2. 安装 PostgreSQL
  3. 安装 PL/Java Dependencies
  4. 使用Maven打包PL/Java
  5. 尝试使用 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 类路径问题?

最佳答案

经过一段时间的反复试验。上面的with过程看起来没什么问题,除了pljava.so和pljava.jar的位置不同。

我错误地认为/usr/lib/postgres 是一个足够好的位置,但它不是正确的位置。相反,它需要位于 postgres lib 目录中! (这是有道理的)。

在我将 pljava.so 和 pljava.jar 移动到/usr/lib/postgresql/lib 目录后,它神奇地工作了。

关于postgresql - 使用 Postgres Ver. 在 Unix 上安装 PL/Java。 9.2+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29978455/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com