

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.

# Référence des fonctions rds\_tools
<a name="PostgreSQL_rds_tools-functions-reference"></a>

L'`rds_tools`extension fournit un ensemble de fonctions utilitaires pour gérer et surveiller votre instance de base de données . À l'aide de ces fonctions, vous pouvez diagnostiquer les problèmes de réplication, d'aspiration et de configuration directement depuis SQL, sans outils de surveillance distincts. Ces fonctions s'ajoutent aux fonctions standard de PostgreSQL. Pour plus d'informations sur les fonctions standard de PostgreSQL, [consultez la section Fonctions et](https://www.postgresql.org/docs/current/functions.html) opérateurs de la documentation PostgreSQL.

Cette section décrit les `rds_tools` fonctions disponibles sur . Chaque description de fonction indique la version d'`rds_tools`extension dans laquelle la fonction est devenue disponible.

Pour créer l'extension, exécutez la commande suivante.

```
postgres=> CREATE EXTENSION rds_tools;
CREATE EXTENSION
```

**Topics**
+ [rds\_tools.role\_password\_encryption\_type](#rds_tools.role_password_encryption_type)
+ [rds\_tools.postgres\_get\_av\_diag](#rds_tools.postgres_get_av_diag)

## rds\_tools.role\_password\_encryption\_type
<a name="rds_tools.role_password_encryption_type"></a>

Renvoie la méthode de chiffrement du mot de passe utilisée pour chaque rôle de base de données. Cette fonction de retour d'ensembles exclut les rôles RDS-protected du système de la sortie. Disponible à partir de la version d'`rds_tools`extension 1.0.

Pour un exemple d'utilisation de cette fonction pour vérifier le chiffrement des mots de passe avant de migrer les utilisateurs de la base de données vers SCRAM, voir. [Utilisation de SCRAM pour le chiffrement de mot de passe PostgreSQL](PostgreSQL_Password_Encryption_configuration.md)

### Prototype de fonction
<a name="rds_tools.role_password_encryption_type-prototype"></a>

```
rds_tools.role_password_encryption_type()
```

### Arguments
<a name="rds_tools.role_password_encryption_type-arguments"></a>

Aucune.

### Output
<a name="rds_tools.role_password_encryption_type-output"></a>
+ `rolname`— Nom du rôle de base de données.
+ `encryption_type`— La méthode de cryptage du mot de passe utilisée, telle que `md5` ou`scram-sha-256`.

### Exemple d’utilisation
<a name="rds_tools.role_password_encryption_type-example"></a>

```
=> SELECT * FROM rds_tools.role_password_encryption_type();
    rolname    | encryption_type
---------------+-----------------
 postgres      | md5
 app_user      | md5
 readonly_user | scram-sha-256
(3 rows)
```

## rds\_tools.postgres\_get\_av\_diag
<a name="rds_tools.postgres_get_av_diag"></a>

Récupère des informations de diagnostic sur les processus d'aspiration automatique qui bloquent ou sont en retard, ainsi que des suggestions pour résoudre chaque problème. Exécutez cette fonction de renvoi d'ensembles dans la base de données avec l'identifiant de transaction le plus ancien pour obtenir des résultats précis. Pour plus d'informations, voir [Identification et résolution des problèmes liés aux bloqueurs de vide agressifs](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.md).

Disponible à partir de la version d'`rds_tools`extension 1.9.

### Prototype de fonction
<a name="rds_tools.postgres_get_av_diag-prototype"></a>

```
rds_tools.postgres_get_av_diag()
```

### Arguments
<a name="rds_tools.postgres_get_av_diag-arguments"></a>

Aucune.

### Output
<a name="rds_tools.postgres_get_av_diag-output"></a>
+ `blocker`— La catégorie d'activité de base de données qui bloque le vide. La valeur est l’une des suivantes :
  + Instruction active
  + État Idle in transaction (Transaction inactive)
  + Transaction préparée
  + Emplacement de réplication logique
  + Réplica en lecture avec emplacement de réplication physique
  + Réplica en lecture avec réplication de streaming
  + Tables temporaires
+ `database`— Nom de la base de données dans laquelle se produit l'activité de blocage.
+ `blocker_identifier`— L'identifiant de l'activité de blocage. La valeur dépend du type de bloqueur :
  + Pour une instruction active ou une session inactive en cours de transaction, l'ID du processus avec son instruction SQL.
  + Pour une transaction préparée, le nom de la transaction préparée.
  + Pour une réplique en lecture, adresse IP de la réplique.
  + Pour un emplacement de réplication, nom du slot de réplication.
+ `wait_event`— L'événement d'attente de la session de blocage, le cas échéant.
+ `autovacuum_lagging_by`— Le nombre de transactions pour lesquelles Autovacuum est en retard dans cette catégorie.
+ `suggestion`— Une suggestion pour résoudre le bloqueur, y compris le nom de la base de données, l'ID du processus et l'action à entreprendre.
+ `suggested_action`— Un tableau des actions à effectuer pour résoudre le bloqueur.

### Exemple d’utilisation
<a name="rds_tools.postgres_get_av_diag-example"></a>

```
=> SELECT *
   FROM rds_tools.postgres_get_av_diag()
   ORDER BY autovacuum_lagging_by DESC;

blocker               | Active statement
database              | my_database
blocker_identifier    | SELECT pg_sleep(20000);
wait_event            | Timeout:PgSleep
autovacuum_lagging_by | 568600871
suggestion            | Connect to database "my_database", review carefully, and consider terminating the process using suggested_action.
suggested_action      | {"SELECT pg_terminate_backend(29621);"}
```