"Paul Stapersma" <paul.stapersma@gmail.com> writes:
> For a project at my University, we compared PostgreSQL with MySQL's InnoDB.
> In this research, we found several cases in which anomalies where detected
> in Isolation levels that guaranteed not to have these anomalies.
> In short summary:
> - we detected non-repeatable reads in the repeatable read isolation level
> - we detected non-repeatable reads in the serializable isolation level
> - we detected phantoms in the serializable isolation level
> - we detected lost updates in the repeatable read isolation level
> - we detected lost updates in the serializable isolation level
There are some known (and documented) issues with serializable mode not
being truly serializable; that should be resolved by 9.1. It's too
bad you were testing 8.3.
> Furthermore, we detected differences between Read Committed and Read
> Uncommitted and differences between Serializable and Repeatable Read which
> is in contrast to the documentation.
Quite honestly, that statement makes me assume that your testing methods
are broken. It's entirely impossible for those modes to behave
differently in Postgres, because there's no difference (in 8.3 anyway).
regards, tom lane