[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 メーリングリストの案内