[pgpool-general-jp: 884] Re: プリペアードステートメント
N.Ezawa
ezawa @ birds.co.jp
2011年 1月 18日 (火) 18:38:41 JST
こんにちは。江沢と申します。
環境は、少し違いますが同じ問題に直面しました。
※環境:pgpool3.0.1 + PostgreSQL8.4×2台(レプリケーションモード)
トランザクション内の場合、PREPAREDは、どちらかのNodeで実行されますが、
EXECUTEが、両方のNodeで実行されるのが原因のようです。
当然、PREPAREDが実行されなかったNodeでは、EXECUTEが失敗します。
その時のログが、
> ERROR: prepared statement "pdo_pgsql_stmt_7a5cc888" does not exist
と同様の内容でした。
おそらく、「DB node id: 0 backend pid: statement: EXECUTE ・・・」
のようなログが、Node単位にログに出ていると思います。
その時は、急いでいたので、PREPAREDに /*REPLICATION*/ を付けて
逃げてしまいました。
見当違いかもしれませんが・・・。
(2011/01/18 17:25), takayuki nakamoto wrote:
> お世話になっております。
> 仲本と申します。
>
> PDO経由でプリペアードステートメントを利用しているのですが、うまくいって
> いません。
> SQLの実行後、DEALLOCATE ALLを実行すると問題ないようです・・・。
>
>
> ちなみに、マスタ・スレーブ共以下のようなpostgresのログが残っています。
> ERROR: prepared statement "pdo_pgsql_stmt_7a5cc888" does not exist
> STATEMENT: DEALLOCATE pdo_pgsql_stmt_7a5cc888
>
> 情報として、不足しているかもしれませんが、なにかご教示いただければと思い
> ます。
>
> 環境は、pgpool3.0.1+DB(postgres9.0x2台)でマスター/スレーブ構成としていま
> す。レプリケーションは、Streaming Replicationです。
>
> 以上、よろしくお願いします。
>
>
> taka_na @ ja2.so-net.ne.jp
> _______________________________________________
> pgpool-general-jp mailing list
> pgpool-general-jp @ sraoss.jp
> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp
>
--
Nobutaka Ezawa
mailto:ezawa @ birds.co.jp
pgpool-general-jp メーリングリストの案内