我的一些交易被聲明爲SERIALIZABLE。有時我會回到類別錯誤,如40001 serialization_failure
和40P01 deadlock_detected
(我還沒有看到其他代碼),特別是當我通過執行大量併發事務來對系統進行壓力測試時。在可序列化事務中,所有40類錯誤都是正常的嗎?
如果我正確理解手冊,這是可以預料的。當這些錯誤發生時,我因此想重試交易。我懷疑是否在處理SERIALIZABLE事務時,類40錯誤的全部是「正常」。換句話說,我是否可以假設任何第40類錯誤應該導致我重試交易,還是這個假設僅對於第40類錯誤的一個子集是正確的?
什麼版本的Postgres你在嗎? – Kuberchaun 2013-05-06 17:04:29
我在PostgreSQL 9.1上。儘管Ubuntu 13.04包可用,但我會盡快更新到9.2。 – 2013-05-06 19:25:07