Skip to content

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; ou REINDEX 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).

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; ou VACUUM 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.

Articles Divers

Mise à jour le:

Publier sous CC BY-SA 4.0.