# Optimizing PostgreSQL's MVCC: Version Copying, Table Bloat, and Vacuum Management

DevFeed: [Optimizing PostgreSQL's MVCC: Version Copying, Table Bloat, and Vacuum Management](<https://devfeed.tech/articles/yes-postgresql-has-problems-but-we-re-sticking-with-it-33716.md>)

Original publisher: [Read original article](<https://www.cs.cmu.edu/~pavlo/blog/2023/06/yes-postgresql-has-problems-but-were-sticking-with-it.html>)

Author: Andy Pavlo

Published: 2023-06-07T04:00:00Z

Content type: article

Language: en

Sources: [Andy Pavlo - Carnegie Mellon University](<https://devfeed.tech/sources/andy-pavlo-carnegie-mellon-university.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [storage](<https://devfeed.tech/tags/storage.md>), [vacuum](<https://devfeed.tech/tags/vacuum.md>)

## AI overview

The article examines PostgreSQL's multi-version concurrency control and discusses optimization challenges involving version copying, table bloat, index maintenance, and vacuum management. It explains how version copying increases data duplication and storage demands, while dead tuples can increase I/O and hurt performance.

## Source excerpt

Andy explores ways to optimize PostgreSQL for each of the problems caused by the implementation of multi-version concurrency control in PostgreSQL.