Weak article with numerous factual errors. SERIALIZABLE is much more feasible than they say<p><a href="https://www.postgresql.org/docs/9.5/transaction-iso.html" rel="nofollow">https://www.postgresql.org/docs/9.5/transaction-iso.html</a><p>and can be done w/o any locking or waiting -- you can keep track of which data transaction A has accessed and if transaction B commits that changes something A depends on you abort transaction A and the application can try it over.