We have multiple concurrent versions of this title trying to understand MVCC
October 21–24
When you create, update or delete a row in PostgreSQL, you are actually creating a new version of the row, hence, each row in PostgreSQL may have multiple versions during its life, sometimes many versions concurrently. These multiple versions are the key to different transaction isolation levels, consistent snapshots, and everything around concurrency control. Understanding how multi-version concurrency control (MVCC) works will open you many doors and windows about PostgreSQL internals, vacuum, and visibility of rows within a transaction.
In this talk we will show with concrete examples the MVCC principle, how to observe it and how to monitor the impact it has with the entire system, as it is interconnected with locks, vacuum, and consistency. You will learn when to use transactions with “repeatable reads” or with “read committed” mode, to design better applications. We will see how MVCC is at the core of understanding Postgres.