私のトランザクションのいくつかはSERIALIZABLEとして宣言されています。時々、私は40001 serialization_failure
と40P01 deadlock_detected
のようなクラス40のエラーを返すことがあります(私はまだ他のコードは見ていません)。すべてのクラス40エラーは、シリアル化可能なトランザクションで通常ですか?
マニュアルを正しく理解していれば、これが予想されます。これらのエラーが発生したら、私はトランザクションを再試行すると思います。私の疑いは、であるかどうかです。SERIALIZABLEトランザクションを処理する場合、クラス40エラーのは「正常」です。言い換えれば、クラス40のエラーがトランザクションを再試行する必要があると仮定するか、クラス40のエラーのサブセットに対してのみ正しいと仮定できますか?
あなたはどのバージョンのPostgresを使用していますか? – Kuberchaun
私はPostgreSQL 9.1を使用しています。 Ubuntu 13.04パッケージが利用可能になるとすぐに9.2に更新します。 –