Skip to content
SE Radio 496: Bruce Momjian on Multi-Version Concurrency Control in Postgres (MVCC) episode artwork

Jan 25, 2022 1 hr

SE Radio 496: Bruce Momjian on Multi-Version Concurrency Control in Postgres (MVCC)

from Software Engineering Radio - The Podcast for Professional Software Developers Hosted by SE-Radio Team

This week, Postgres server developer Bruce Momjian joins host Robert Blumen for a discussion of multi-version concurrency control (MVCC) in the Postgres database. They begin with a discussion of the isolation requirement in database transactions (I in ACID); how isolation can be achieved with locking; limitations of locking; how locking limits concurrency and creates variability in query runtimes; multi-version concurrency control as a means to achieve isolation; how Postgres manages multiple versions of a row; snapshots; copy-on-write and snapshots; visibility; database transaction IDs; how tx ids, snapshots and versions interact; the need for locking when there are multiple writers; how MVCC was added to Postgres; and how to clean up unused space left over from aged-out versions.

Episode details come from the podcast's RSS feed.

Embed this episode

Ready to play

SE Radio 496: Bruce Momjian on Multi-Version Concurrency Control in Postgres (MVCC)

0:00 1:00:25

No transcript yet.

Requests help us decide what to transcribe next.

Frequently asked questions

How long is this episode of Software Engineering Radio - The Podcast for Professional Software Developers?

This episode is 1 hour and 0 minutes long.

When was this Software Engineering Radio - The Podcast for Professional Software Developers episode published?

This episode was published on January 25, 2022.

Can I download this Software Engineering Radio - The Podcast for Professional Software Developers episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.