09

PSQLException: ERROR: キャッシュした計画は結果型を変更してはなりません

intra-mart Accel Platform のテナント環境セットアップやってる途中に こういうエラーでて進まなくなることがあったのだけど、Google先生で調べてみてもどうもリリース元のエラーメッセージの国際化関連のリソースか何かが出てくるだけでこれが一体なにを意味しているのかさっぱりわからない。 いろいろいじくり回してみたところおそらく、アプリケーションサーバ側の要求するコネクションか、PreparedStatementの数にPostgreSQL側がついていけないということみたい。

この「ついていけない」が具体的にどういう値がどうでってのは、結局のところ理解してない。

iAP側のmax-connectionとかprepared-statement-cacheとかの数を下げたところ問題なくテナント環境セットアップを完走したので、まあそういうことなんだろうというフワッとした知見を得た、という話。

追記 2016-04-11

PotgreSQLのprepared-statement-cacheの設定の仕方がPostgresql Driver, Version 9.4-1202 以降変更になっているらしい。

resin-web設定 — 設定ファイルリファレンス   第13版 2016-04-01   intra-mart Accel Platform

あとこの話は当然Oracleでも同様シチュエーションで同様の現象が発生する。