postgesql 9.6 用の pljava を Ubuntu 16.04 にインストールしようとしましたが、エラーで失敗します。gradlewスクリプトはインストールを行いますが、次のエラーで失敗します」
実行に失敗しました: CREATE EXTENSION pljava; エラー: ファイル "pljava-so-1.5.1-BETA1" にアクセスできませんでした: そのようなファイルまたはディレクトリはありません
gradlewソース:
Sql sql = establishConnection()
try {
sql.execute("SET pljava.libjvm_location TO '${javaNative}';")
sql.execute("SET pljava.vmoptions TO '-Xshare:on -XX:+DisableAttachMechanism';")
sql.execute("ALTER DATABASE postgres SET pljava.libjvm_location FROM CURRENT;")
sql.execute("ALTER DATABASE postgres SET pljava.vmoptions FROM CURRENT;")
sql.execute("CREATE EXTENSION pljava;")
} finally {
sql.close()
}
私が理解しているように、拡張機能pljavaの作成中に失敗し、上記のコマンドはエラーなしで実行されました。
pljava-so-1.5.1-BETA1
@ChapmanFlack のアドバイスによると、ディレクトリのファイルについて言及していませんpg_config --libdir
。pg_config --sharedir
grep LOAD pljava--1.5.1-BETA1.sql
また、次の出力でそのファイルが見つかりませんでした:
LOAD コマンドによってタッチオフされ、適切なインストール LOAD コマンドが可能になりますが、代わりに CREATE EXTENSION コマンドが検出されます)。したがって、一時的に「pljava-so-1.5.1-BETA1」をロードします。わかりました、LOAD が成功したので、すべてが起こりました ... 場合を除き ... 同じ PostgreSQL が LOAD を (成功した) no-op に変えます。
gradlewのその行のために、PL/Java は事前に構築されたものから構築されると思います。
commandLine 'java', '-jar', '../installer/build/dependencies/pljava-pg9.6.jar'
アドバイスをいただければ幸いです