I’m just wondering what version of PostgreSQL first implemented autovacuum.
Prior to PostgreSQL 8.1 it was an extension; 8.1 moved autovacuum into the distribution and away from
pg_autovacuum, from the release notes
/contrib/pg_autovacuuminto the main server (Alvaro)
Integrating autovacuum into the server allows it to be automatically started and stopped in sync with the database server, and allows autovacuum to be configured from
But concurrent vacuuming and enabled-by-default
autovacuum was introduced in 8.3,
Autovacuum is now enabled by default (Alvaro)
Several changes were made to eliminate disadvantages of having autovacuum enabled, thereby justifying the change in default. Several other autovacuum parameter defaults were also modified.