Satoshi.Nagatsuma
nagat****@nttda*****
2008年 1月 21日 (月) 18:10:44 JST
長妻です。 どうやらPostgreSQLの関数が変更されていることが原因のようです。 pljava.soは、PostgreSQLバイナリのlib中に配置できているようなので そこは問題ないだろうと踏んで、エラーメッセージをもう一度見ると・・・ org.postgresql.util.PSQLException: ERROR: could not load library > "/usr/lib/pgsql/pljava.so": /usr/lib/pgsql/pljava.so: undefined > symbol: SetUserId となってるので、PostgreSQLのソースコードの中をSetUserIdで検索してみると PostgreSQL-8.1.10 [forestdevel @ fedora5 src]$ grep -R "SetUserId(" * backend/access/transam/xact.c: SetUserId(s->currentUser); backend/utils/fmgr/fmgr.c: SetUserId(fcache->userid); backend/utils/fmgr/fmgr.c: SetUserId(save_userid); backend/utils/fmgr/fmgr.c: SetUserId(save_userid); (省略) PostgreSQL-8.1.11 [forestdevel @ fedora5 src]$ grep -R "SetUserId(" * backend/utils/init/miscinit.c: * Note: there's no SetUserId() anymore; use SetUserIdAndContext(). まさにこれが原因ですね。どうやら8.1.11からこの関数がなくなったようです。 8.3RC1でも同じように問題になっているようです。 http://www.nabble.com/Pl-Java-broken-since-Postgresql-8.3-rc1-td14746321.html あれ? そうなってくると浅利さんが使えているのは何故でしょう・・? Satoshi.Nagatsuma さんは書きました: > 長妻です。 > > 軽く試してみたところ、確かにPostgreSQL8.1.11ではforest_initdbで > エラーが出てしまいました。詳細はまだ見ていないのですが、pljavaの > コンパイル等々に失敗しているとかそういった感じかもしれません。 > > 詳しく調べてみないとなんともいえませんが、今のところは > Forest4.0.2をPostgreSQL8.1.11ではすぐには使えないという結論に > なるかもしれません。 > (浅利さんのほうでは使えていらっしゃるみたいなのが謎ですね・・・) > > > Ryotaro Kameoka さんは書きました: >> 戸根と申します。 >> >> PostgresForestのインストールを行おうとしたのですが、 >> /usr/loca/forest40/bin/forest_initdb を実行した際に下記のエラーが表示されます。 >> >> >> <Error Message抜粋> >> >> CREATE FUNCTION >> === Deploy pl/java === >> org.postgresql.util.PSQLException: ERROR: could not load library >> "/usr/lib/pgsql/pljava.so": /usr/lib/pgsql/pljava.so: undefined >> symbol: SetUserId >> at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1525) >> at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1309) >> at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188) >> at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452) >> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:340) >> at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:332) >> at org.postgresql.pljava.deploy.Deployer.initJavaHandlers(Deployer.java:474) >> at org.postgresql.pljava.deploy.Deployer.main(Deployer.java:269) >> === Grant on pl/java === >> psql:/usr/local/forest40/share/forest_pljava_init.sql:1: ERROR: >> schema "sqlj" does not exist >> psql:/usr/local/forest40/share/forest_pljava_init.sql:2: ERROR: >> schema "sqlj" does not exist >> psql:/usr/local/forest40/share/forest_pljava_init.sql:3: ERROR: >> schema "sqlj" does not exist >> psql:/usr/local/forest40/share/forest_pljava_init.sql:4: ERROR: >> schema "sqlj" does not exist >> GRANT >> === Install pl/java funcs === >> ERROR: schema "sqlj" does not exist >> psql:/usr/local/forest40/share/forest_pljava_funcs.sql:1: ERROR: >> schema "sqlj" does not exist >> psql:/usr/local/forest40/share/forest_pljava_funcs.sql:9: ERROR: >> language "javau" does not exist >> psql:/usr/local/forest40/share/forest_pljava_funcs.sql:13: ERROR: >> language "javau" does not exist >> psql:/usr/local/forest40/share/forest_pljava_funcs.sql:17: ERROR: >> language "javau" does not exist >> psql:/usr/local/forest40/share/forest_pljava_funcs.sql:21: ERROR: >> language "javau" does not exist >> psql:/usr/local/forest40/share/forest_pljava_funcs.sql:25: ERROR: >> language "javau" does not exist >> psql:/usr/local/forest40/share/forest_pljava_funcs.sql:29: ERROR: >> language "javau" does not exist >> psql:/usr/local/forest40/share/forest_pljava_funcs.sql:37: ERROR: >> language "javau" does not exist >> psql:/usr/local/forest40/share/forest_pljava_funcs.sql:41: ERROR: >> language "javau" does not exist >> psql:/usr/local/forest40/share/forest_pljava_funcs.sql:45: ERROR: >> language "javau" does not exist >> >> >> 環境は下記のとおりです。 >> ・Redhat ES4 Update6 >> ・PostgreSQL 8.1.11(rpm) >> ・PostgresForest 4.0.2 >> >> >> いろいろとやってみたところ、 >> ・PostgreSQL 8.1.11(rpm):失敗 >> ・PostgreSQL 8.1.11(src):失敗 >> ・PostgreSQL 8.1.10(rpm):成功 >> ・PostgreSQL 8.1.10(src):成功 >> というように、V8.1.xの最新版:8.1.11だと失敗するようです。 >> # 8.2.x系はパッチが必要とのことなので、当方では試しておりません。 >> >> >> PostgresForest 4.0.2に対するPostgreSQLバージョンの要件ってあるのでしょうか? >> Webを見たところ、詳細なものが書いていなかったので、ご教授頂ければと思います。 >> >> 以上、宜しくお願いします。 >> >> _______________________________________________ >> postgresforest-users mailing list >> postg****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/postgresforest-users >> >> > > _______________________________________________ > postgresforest-users mailing list > postg****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/postgresforest-users > >