Controlling automatic database maintenance
autovacuum
is enabled by default in PostgreSQL and mostly does a great job of maintaining your PostgreSQL database. We say mostly because it doesn’t know everything you do regarding the database, such as the best time to perform maintenance actions. Let’s explore the settings that can be tuned so that you can use VACUUM
commands efficiently.
Getting ready
Exercising control requires some thinking about what you want:
- What are the best times of day to perform maintenance activities? When are system resources more available?
- Which days are quiet, and which are not?
- Which tables are critical to the application, and which are not?
How to do it…
The first thing you must do is make sure that autovacuum
is switched on
, which is the default. Check that you have the following parameters enabled in your postgresql.conf
file:
autovacuum = on
track_counts = on
PostgreSQL controls...