PostgreSQL’s MVCC Is Terrible. That’s Why It’s the Best.
MVCC and vacuuming are the headaches every PostgreSQL user knows. But the alternatives are worse. This article explains why the trade-offs are inevitable, and why the ‘bad’ concurrency model you’re stuck with is actually the best option available.