Schedule - PGConf.DE 2025
What is MVCC and why should I care about it?
Date: 2025-05-09
Time: 13:35–14:20
Room: Ballsaal 2
Level: Intermediate
Usually you don't care too much about the underlying architecture of your database system. As a developer you write software, as a DBA you consult and plan the next steps in the company wide database landscape and for operations it's just another instance to run. In the end, the database, usually, just works. Then you finally go to production and the problems start to appear. What worked perfectly on the test environment degrades quickly on production. And that's the point where you wished you cared more about what makes your database work.
Multi-version Concurrency Control is the method that drives the visibility of tuples ("rows") in PostgreSQL. It works (mostly) lockfree without blocking or having to compromise on consistency. It trades storage-space with efficiency as it stores the tuples in multiple versions.
This presentation will explain how MVCC works and what side-effects you need to be aware of. With a focus on replication, backup and general maintenance processes. As a developer you will gain some understanding on how PostgreSQL behaves. As a DBA you can detect patterns earlier and help your developers out before things stop working.