2016-11-16 38 views
2

私はmemcacheを有効にしたpgpool 3.5.4を持っていて、これを使って Redshiftに接続しています。 pgpool 3.5.4とJDBCの問題

は、私は2つの単純なプログラムはJava(JDBC のpostgresql-9.4.1212.jre6.jar)で1だけはpgpoolに接続(psycopg2 postgresのパッケージを使用して)Pythonで別のものを書いて、簡単なクエリを実行 (例:select * from customer limit 10;)、私は奇妙なことに気付き、 の動作が違っています。また、コマンドラインツール psqlを使用してクエリを実行しました。 PIDの31043:FATAL:バックエンドのエラーメッセージ

2016-11-を投げるのキャッシングではpgpoolでJDBCを使用して

1)私は、エラー

2016年11月15日10時56分27秒を取得する有効15 10:56:27:pid 31043:詳細: のバックエンドからのエラーによる現在のセッションの終了

2016-11-15 10:56:27:ヒント:BACKENDエラー: "portal" pgpool31043 " は存在しません "

2)Usiそれは

を作品キャッシング有効 または無効のいずれかとするpgpoolとpsycopg2またはpsqlのコマンドラインを使用することが

3作品キャッシングを無効にしてはpgpoolとJDBC)をngのは、誰かが唯一のJDBCが動作していない理由を私は理解するのに役立つことはできますか?

答えて

3

JDBCには、通信に使用する2つのプロトコル、単純なクエリプロトコル、拡張クエリプロトコルがあります。

しかし、pgpool IIは拡張クエリプロトコルではうまく機能しません。

github(https://github.com/pgjdbc/pgjdbc)のpgjdbcドライバのドキュメントにpreferQueryModeというパラメータがあります。この問題を解決するには、preferQueryModeをsimpleに設定するだけで問題は解決します。

私はこれまで、2人の顧客と、postgresとredshiftの前にpgpoolを使用してテストを行い、完全に機能しました。

+0

ありがとうございました。これは、大きな問題から私たちを救った! –

+0

素晴らしいです、ありがとうございます。 – duffn

関連する問題