Maintenance
Voici les principales opérations de maintenance possibles sous PostgreSQL pour assurer la performance, la fiabilité et la durabilité de votre base de données:
VACUUM
- But : Nettoyer les lignes mortes (tuples) laissées par les mises à jour ou suppressions, libérer de l’espace et éviter le gonflement des tables.
- Variantes :
VACUUM: Nettoyage standard.VACUUM FULL: Réorganise physiquement la table, plus lent mais plus efficace.VACUUM ANALYZE: Nettoie et met à jour les statistiques pour l’optimiseur de requêtes.
ANALYZE
- But : Mettre à jour les statistiques utilisées par l’optimiseur de requêtes pour générer des plans d’exécution optimaux.
- Utilisation : Souvent combiné avec
VACUUM(VACUUM ANALYZE).
REINDEX
- But : Reconstruire les index corrompus ou fragmentés.
- Utilisation :
REINDEX TABLE ma_table;ouREINDEX DATABASE ma_base;
CLUSTER
- But : Réorganiser physiquement une table selon un index pour améliorer les performances de lecture.
- Utilisation :
CLUSTER ma_table USING mon_index;
Maintenance des logs et archives WAL
- But : Gérer les fichiers de journalisation (WAL) pour la réplication et la récupération après incident.
- Actions :
- Archiver les WAL (
archive_command). - Nettoyer les anciens WAL (
pg_archivecleanup).
- Archiver les WAL (
Gestion des connexions et verrous
- But : Identifier et résoudre les blocages ou connexions bloquantes.
- Outils :
pg_stat_activity: Voir les connexions actives.pg_locks: Voir les verrous.
Mise à jour des statistiques système
- But : Assurer que PostgreSQL dispose des informations les plus récentes sur la distribution des données.
- Utilisation :
ANALYZE;ouVACUUM ANALYZE;
Gestion de l’autovacuum
- But : Configurer le processus automatique de nettoyage (
autovacuum) pour éviter les interventions manuelles. - Paramètres :
autovacuum,autovacuum_vacuum_threshold, etc.
Vérification de l’intégrité des données
- But : Détecter les corruptions de données.
- Outils :
pg_checksums(si activé),pg_verifybackup.
Quand les utiliser ?
- Régulièrement :
VACUUM,ANALYZE, surveillance des logs. - Après des opérations massives :
REINDEX,CLUSTER. - En cas de problème : Vérification des verrous, intégrité des données.