Running autovacuum recommended

Introduced in PostgreSQL 8.1, the autovacuum process which was previously implemented as an external service process is now integrated into the backend. It will run VACUUM automatically if a configurable amount of data has changed.

Running VACUUM is mandatory on a PostgreSQL server to keep data consistent and the server performant. As a start, it is recommended to enable the autovacuum daemon by setting 'autovacuum', 'stats_start_collector' and 'stats_row_level' in postgresql.conf to 'on'.

In PostgreSQL 8.3 and newer, autovacuum is enabled by default unless you turn off 'track_activities' or 'track_counts'.

With a usually neglible performance penalty from the data change tracking, you will gain automatic VACUUM runs.

To adjust autovacuum performance for individual needs, you might need to tune its settings using global parameters in postgresql.conf, or individually on each table; see the documentation.