Sobes.tech
Junior — Middle

Pouvez-vous expliquer le principe du fonctionnement de la commande VACUUM dans PostgreSQL et pourquoi elle est utilisée?

sobes.tech IA

Réponse de l'IA

La commande VACUUM dans PostgreSQL est utilisée pour nettoyer la base de données des lignes 'mortes' qui restent après les opérations de mise à jour et de suppression. Cela aide à libérer de l'espace et à prévenir la croissance des tables.

Les tâches principales de VACUUM :

  • Supprimer les anciennes versions de lignes (tuples morts) pour qu'elles ne prennent pas de place.
  • Mettre à jour les statistiques pour le planificateur de requêtes (si VACUUM ANALYZE est utilisé).
  • Prévenir le débordement de l'ID de transaction (wraparound).

Sans exécuter régulièrement VACUUM, la performance de la base peut se dégrader et la taille des tables augmenter.

Exemple d'appel en SQL :

VACUUM;
VACUUM ANALYZE;

En Go, vous pouvez exécuter cette commande via le pilote de base de données, par exemple :

_, err := db.Exec("VACUUM")
if err != nil {
    log.Fatal(err)
}