

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
<a name="Appendix.PostgreSQL.CommonDBATasks.Autovacuum.AdaptivePG18"></a>

À 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 PostgreSQL`autovacuum_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ètre`autovacuum_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` cela`autovacuum_max_workers`, nécessite un redémarrage pour changer. Pour plus d'informations, consultez [https://www.postgresql.org/docs/devel/runtime-config-vacuum.html#GUC-AUTOVACUUM-WORKER-SLOTS](https://www.postgresql.org/docs/devel/runtime-config-vacuum.html#GUC-AUTOVACUUM-WORKER-SLOTS)la documentation de PostgreSQL.

## Comment l'aspirateur automatique adaptatif fait évoluer les travailleurs
<a name="Appendix.PostgreSQL.CommonDBATasks.Autovacuum.AdaptivePG18.ScalingWorkers"></a>

Lorsque la [https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html) 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](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.Summary.html) (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
<a name="Appendix.PostgreSQL.CommonDBATasks.Autovacuum.AdaptivePG18.Monitoring"></a>

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](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html). Pour recevoir des notifications lorsque ces événements se produisent, consultez la section [S'abonner aux notifications d'événements Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Subscribing.html)

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.