When you update or delete a row in PostgreSQL, you are actually creating a new version of the row. PostgreSQL, like a time machine, will make sure that your version of the row will always be visible to you while you are in the same transaction, respecting all the ACID properties that make PostgreSQL so powerful and reliable. This clever design still needs some maintenance to get rid of too old rows. That maintenance is called Vacuum. After this talk you will be able to understand how MVCC, Vacuum and autovacuum works, and what you need to do to keep your database in good shape. In addition, this knowledge will help you improve the design of your database schema.
The following slides have been made available for this session: