Ce document décrit les principes de base de l'opération VACUUM
dans les bases de données PostgreSQL. Il décrit également les mécanismes permettant de surveiller et d'ajuster le moteur de base de données qui préserve l'état des instances de base de données.
PostgreSQL utilise un protocole de simultanéité basé sur un instantané qui crée plusieurs versions de lignes de données tout en modifiant les données. Ces versions de lignes de données sont utilisées pour lire une version visible des données à l'aide d'un instantané calculé, sans acquérir de verrou en lecture sur la ligne de données. PostgreSQL gère les ID de transaction (insérés et supprimés) pour chaque ligne de données et utilise ces ID, ainsi que l'instantané calculé, pour déterminer la visibilité de la ligne. À mesure que les données augmentent en raison des anciennes versions des données, le temps nécessaire à l'analyse des données (analyse de table ou analyse d'index) augmente. Pour optimiser le temps de réponse de l'opération d'analyse et utiliser efficacement l'espace, vous devez récupérer les versions et les métadonnées (par exemple, l'ID de transaction) utilisées pour gérer les versions.
L'opération VACUUM
récupère les versions supprimées (récupération de mémoire) et les ID de transaction (fige l'ID de transaction). L'opération VACUUM
fonctionne sur des données dans différents modes avec différents niveaux de disponibilité des données. Le blocage des ID de transaction est essentiel à l'état du système de base de données, car le système bloque les rédacteurs chaque fois que l'espace d'ID de transaction utilisé entre dans l'espace réservé.
Les tâches autovacuum
que vous configurez en permanence tentent de récupérer l'ID de transaction, mais elles peuvent échouer. Cet échec est soit dû à une configuration insuffisante, soit au taux de création des ID de transaction si élevé que la tâche autovacuum
ne peut pas rattraper la charge de travail. Le but de ce document est de vous montrer comment utiliser les opérations VACUUM
, ainsi que les mécanismes permettant d'ajuster et de surveiller différents aspects des opérations VACUUM
.
Aperçu
Ce document couvre les points suivants:
- Figer des ID de transaction
- Surveiller les ID de transaction.
- Récupération de l'espace de stockage
- Configurer des alertes Cloud Monitoring automatiques
Pour lire le livre blanc en entier, cliquez sur le bouton :