Hi,
We have a healthy PostgreSQL 15 instance (installed from the official Postgres repository) running on Red Hat 9. It serves several databases for internal SMB applications. The environment is stable—apps perform well, disk usage is fine, and the system is not under heavy load.
After integrating PostgreSQL into our monitoring system, I noticed warnings related to VACUUM and ANALYZE. Some tables have never undergone these maintenance operations, or the last run was 30–200 days ago. These databases have very few deletions, and many tables show no growth at all—typical for internal SMB apps.
I know this topic comes up often, but should I schedule a monthly VACUUM + ANALYZE via a cron or systemd timer, while still keeping autovacuum enabled?
We’re also monitoring table bloat, which is currently under 1%, suggesting that manual intervention may not be necessary and that autovacuum is doing its job when needed.
Thanks for your insights!