PostgreSQL: Autovacuum

What does Autovacuum do?

  • free transaction ID => avoid transaction ID wraparound
  • remove dead tuples => give you space back
  • avoid table/index bloats

Autovacuum is Automatic Vacuuming. GC for database tables.

VACUUM -- garbage-collect and optionally analyze a database

When you DELETE or UPDATE records, your table will have Live Tuples and Dead Tuples.1

You 100% want autovaccum ON. You want it to run frequently for small chunk of your database tables.

When you migrate a large database to a new database, you will see high CPU usage.

Configurations

The autovacuum can be configured per-table basis.

Read More