Configurer l'autovacuum adaptatif

Sélectionnez une version de la documentation :

Cette page présente l'autovacuum adaptatif d'AlloyDB Omni et explique comment le configurer.

Le nettoyage est une opération de maintenance importante de la base de données PostgreSQL. Il permet de récupérer l'espace de stockage occupé par les lignes mises à jour ou supprimées afin d'éviter le gonflement des tables ou des index. Il permet également de figer les ID de transaction pour éviter leur réinitialisation et de mettre à jour les statistiques des tables.

Pour en savoir plus sur le nettoyage, consultez la section Nettoyage de routine.

Pour automatiser le processus de nettoyage et mettre à jour collectivement les statistiques des tables, AlloyDB Omni est compatible avec l'autovacuum adaptatif. L'autovacuum adaptatif permet d'ajuster automatiquement la charge de travail de nettoyage lorsque votre charge de travail change, de supprimer les tuples morts et de mettre à jour les statistiques des tables.

L'autovacuum garantit des performances transactionnelles fiables et cohérentes pour les applications, et maintient la haute disponibilité du système en empêchant la réinitialisation des ID de transaction.

Par défaut, AlloyDB Omni active l'autovacuum adaptatif. Vous pouvez désactiver ou modifier l'autovacuum adaptatif sur AlloyDB Omni en utilisant les options de base de données.

Avantages

L'autovacuum adaptatif offre les avantages suivants :

  • Ajustement automatique des ressources. AlloyDB Omni ajuste automatiquement les ressources telles que le processeur, les E/S, le nombre de processus de nettoyage et la mémoire pour le processus de nettoyage en fonction de l'état en temps réel de la charge de travail et des ressources disponibles, sans affecter les performances du système.

  • Prévention de la réinitialisation des ID de transaction. AlloyDB Omni surveille la progression du nettoyage et la vitesse de consommation des ID de transaction. Si nécessaire, AlloyDB Omni limite la consommation d'ID de transaction en nettoyant chaque table de la base de données, ce qui empêche la réinitialisation des ID de transaction.

  • Nettoyage périodique des tables. AlloyDB Omni déclenche l'autovacuum en fonction du nombre de tuples morts et des pages à analyser. Il supprime les tuples morts en temps voulu pour éviter le gonflement des tables ou des index.

  • Détection automatique des éléments bloquants. AlloyDB Omni détecte automatiquement les éléments bloquants, tels que les transactions de longue durée, les transactions préparées orphelines et les emplacements de réplication orphelins, et affiche des messages d'avertissement semblables à ceux ci-dessous dans le journal postgres :

    Found a backend process PROCESS_ID with a long running transaction whose transaction
    id age AGE is larger than or equal to the transaction age threshold AGE_THRESHOLD.
    

Configurer l'autovacuum adaptatif

Par défaut, l'autovacuum adaptatif est activé sur AlloyDB Omni. Vous pouvez le désactiver en définissant l'option de base de données enable_google_adaptive_autovacuum d'une instance sur off.

AlloyDB Omni est compatible avec plusieurs options de base de données PostgreSQL standards liées au nettoyage et à l'autovacuum, par exemple vacuum_cost_delay et autovacuum_vacuum_cost_delay. Vous n'avez pas besoin de définir de valeurs dans ces options pour que l'autovacuum adaptatif fonctionne, car il adapte et optimise son comportement à vos charges de travail réelles. Si vous définissez des valeurs dans ces options, l'autovacuum adaptatif ajuste son comportement pour tenir compte de vos préférences.

Pour obtenir la liste complète des options de base de données PostgreSQL compatibles liées au nettoyage et à l'autovacuum, consultez les options de nettoyage et les options d'autovacuum.