View a markdown version of this page

Améliorations apportées à l'autovacuum adaptatif dans PostgreSQL version 18 - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Améliorations apportées à l'autovacuum adaptatif dans PostgreSQL version 18

À partir de la version 18 de RDS pour PostgreSQL, Amazon RDS améliore le mécanisme d'autovacuum adaptatif afin d'effectuer une mise à l'autovacuum_max_workerséchelle dynamique lorsque votre instance de base de données approche de l'encapsulation des identifiants de transaction. Dans les versions antérieures de PostgreSQLautovacuum_max_workers, le changement nécessitait un redémarrage. PostgreSQL 18 autovacuum_max_workers crée un paramètre dynamique, permettant à Amazon RDS de l'ajuster sans redémarrer.

PostgreSQL 18 introduit également un nouveau paramètreautovacuum_worker_slots, qui réserve des emplacements de processus principaux aux travailleurs de l'aspirateur automatique au démarrage du serveur. Ce paramètre définit la limite supérieure du nombre de machines à aspiration automatique pouvant fonctionner simultanément. Il autovacuum_max_workers ne peut pas dépasser cette valeur. Contrairement à autovacuum_worker_slots celaautovacuum_max_workers, nécessite un redémarrage pour changer. Pour plus d'informations, consultez autovacuum_worker_slotsla documentation de PostgreSQL.

Comment l'aspirateur automatique adaptatif fait évoluer les travailleurs

Lorsque la MaximumUsedTransactionIDs CloudWatch métrique dépasse 1 milliard sur une instance PostgreSQL 18, Amazon RDS autovacuum_max_workers augmente jusqu'à autovacuum_worker_slots la valeur en utilisant la formule suivante, qui est également la formule par défaut pour le paramètre : autovacuum_worker_slots

LEAST(GREATEST({DBInstanceClassMemory/32185783296}, 16), 32)

Pour les petites et moyennes instances (jusqu'à 512 GiB de mémoire), l'aspirateur automatique adaptatif s'adapte à 16 travailleurs. Pour les instances de plus grande taille, le nombre de travailleurs augmente proportionnellement à la capacité de mémoire, jusqu'à un maximum de 32. Par exemple, une instance db.m5.4xlarge (64 GiB) a une valeur par défaut de 3. autovacuum_max_workers Lorsqu'il MaximumUsedTransactionIDs dépasse le milliard, Amazon RDS le fait passer à 16 employés.

Amazon RDS ne diminue jamais une valeur que vous avez déjà configurée. Si votre valeur configurée autovacuum_max_workers est déjà supérieure à la valeur calculée, Amazon RDS ne la modifie pas.

Chaque aspirateur automatique utilise de la mémoire jusqu'au autovacuum_work_mem réglage. Lorsque l'autovacuum adaptatif augmente le nombre de travailleurs, la mémoire totale consommée par l'autovacuum augmente proportionnellement. Par exemple, si autovacuum_work_mem ce paramètre est défini sur 1 Go et que l'aspirateur automatique adaptatif passe de 3 à 16 utilisateurs, la mémoire maximale utilisée par les aspirateurs automatiques passe de 3 Go à 16 Go.

Avertissement

Assurez-vous que la combinaison des processus de travail et de la mémoire est égale à la mémoire totale que vous souhaitez allouer à Autovacuum.

Surveillance des variations adaptatives de l'aspirateur automatique

Lorsqu'Amazon RDS modifie autovacuum_max_workers un autre paramètre d'autovacuum, il génère un événement pour l'instance de base de données concernée. Vous pouvez consulter ces événements dans AWS Management Console ou via l'API Amazon RDS. Pour plus d'informations sur les événements RDS, consultez les catégories d'événements et les messages d'événements Amazon RDS. Pour recevoir des notifications lorsque ces événements se produisent, consultez la section S'abonner aux notifications d'événements Amazon RDS.

Pour afficher les paramètres actuels d'autovacuum en mémoire, connectez-vous à votre instance de base de données et exécutez la commande suivante :

SHOW autovacuum_max_workers;

Les valeurs des groupes de paramètres ne sont pas modifiées. Amazon RDS modifie ces paramètres uniquement en mémoire sur l'instance de base de données. Lorsque le seuil MaximumUsedTransactionIDs descend en dessous du seuil, Amazon RDS réinitialise les paramètres aux valeurs de votre groupe de paramètres et génère un autre événement.