The Part of PostgreSQL We Hate the Most

1 What is Multi-Version Concurrency Control? 2 PostgreSQL’s Multi-Version Concurrency Control 2.1 Multi-Versioned Storage 2.2 Version Vacuum 3 Why PostgreSQL’s MVCC is the Worst 3.1 Problem #1: Version Copying 3.2 Problem #2: Table Bloat 3.3 Problem #3: Secondary Index Maintenance 3.4 Problem #4: Vacuum Management 4 Concluding Remarks...