Autovacuum
Processus d'arrière-plan de PostgreSQL qui exécute automatiquement VACUUM et ANALYZE quand une table a accumulé suffisamment de lignes mortes. Activé par défaut. Un autovacuum mal réglé est l'un des pièges de performance les plus courants sous Postgres.
Le déclencheur : il s'exécute quand les lignes mortes dépassent autovacuum_vacuum_threshold + scale_factor × taille de la table. Le scale_factor par défaut (0,2 soit 20 %) est souvent trop paresseux pour les grandes tables → elles gonflent beaucoup avant que le vacuum n'intervienne. Réglage : abaisser le scale_factor par table pour les tables chaudes, augmenter le nombre de workers, relever autovacuum_vacuum_cost_limit pour qu'il tienne le rythme. Symptômes d'un problème : bloat croissant, avertissements de « wraparound », chutes de performance soudaines. Anti-pattern : désactiver l'autovacuum « pour la performance » → mène tôt ou tard à la catastrophe. Surveiller last_autovacuum dans pg_stat_user_tables.