Sobes.tech
Junior — Middle

Pourquoi la commande VACUUM est-elle utilisée dans PostgreSQL et quel est son rôle principal dans la gestion de la base de données?

sobes.tech IA

Réponse de l'IA

En PostgreSQL, la commande VACUUM est utilisée pour nettoyer la base de données des lignes 'mortes' qui restent après des mises à jour et des suppressions. Le rôle principal de VACUUM est de libérer l'espace occupé par ces enregistrements obsolètes afin d'éviter la croissance de la taille des tables et d'améliorer les performances des requêtes.

PostgreSQL utilise MVCC (contrôle de concurrence multiversion), où les mises à jour ne remplacent pas les lignes, mais créent de nouvelles versions. Les anciennes versions sont considérées comme 'mortes' et ne sont plus nécessaires après que toutes les transactions qui pouvaient les voir ont été terminées. VACUUM supprime ces anciennes versions.

De plus, VACUUM met à jour les statistiques et les métadonnées, ce qui aide le planificateur de requêtes à choisir les plans d'exécution optimaux.

Exemple d'utilisation:

VACUUM;
-- ou pour un nettoyage plus approfondi
VACUUM FULL;