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
L'rds_toolsextension fournit un ensemble de fonctions utilitaires pour gérer et surveiller votre instance de base de données RDS for PostgreSQL PostgreSQL. À 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
Chaque description de fonction indique la version d'rds_toolsextension dans laquelle la fonction est devenue disponible.
Pour créer l'extension, exécutez la commande suivante.
postgres=> CREATE EXTENSION rds_tools; CREATE EXTENSION
Rubriques
rds_tools.role_password_encryption_type
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_toolsextension 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
Prototype de fonction
rds_tools.role_password_encryption_type()
Arguments
Aucune.
Output
-
rolname— Nom du rôle de base de données. -
encryption_type— La méthode de cryptage du mot de passe utilisée, telle quemd5ouscram-sha-256.
Exemple d’utilisation
=> 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.blue_green_get_status
Vérifie les commandes restreintes exécutées pendant les opérations blue/green de déploiement. Lors blue/green des déploiements utilisant la réplication logique, vous ne pouvez pas répliquer les commandes du langage de définition des données (DDL) ou les opérations sur de grands objets (LO) entre les environnements bleu et vert. Si une commande restreinte est détectée, redémarrez le blue/green déploiement, car les données ne peuvent pas être correctement répliquées dans l'environnement écologique. Disponible à partir de la version d'rds_toolsextension 1.3.
Prototype de fonction
rds_tools.blue_green_get_status(command_type)
Arguments
-
command_type— Type de commande restreinte à vérifier. Les valeurs valides sont'DDL'(commandes du langage de définition des données) et'LO'(opérations sur des objets volumineux).
Output
Une valeur boolean. Renvoie true si une commande restreinte du type spécifié a été exécutée pendant le déploiement ou false si aucune commande de ce type n'a été détectée.
Exemple d’utilisation
=> SELECT rds_tools.blue_green_get_status('DDL'); blue_green_get_status ----------------------- f (1 row)
rds_tools.postgres_get_av_diag
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.
Disponible à partir de la version d'rds_toolsextension 1.9.
Prototype de fonction
rds_tools.postgres_get_av_diag()
Arguments
Aucune.
Output
-
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
=> 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);"}
rds_tools.rds_version
Affiche la version du moteur RDS pour PostgreSQL pour votre instance de base de données. Cette fonction lit les informations de version à partir des fichiers de configuration de l'instance. Disponible à partir de la version d'rds_toolsextension 1.1.
Prototype de fonction
rds_tools.rds_version()
Arguments
Aucune.
Output
Chaîne de caractères contenant la version du moteur.
Exemple d’utilisation
=> SELECT rds_tools.rds_version(); rds_version ------------- 18.1.R1 (1 row)
rds_tools.logical_seed_lsn
Renvoie le numéro de séquence du journal de départ logique (LSN) qui représente le point où la réplication logique diverge de l'instance source. Utilisez cette fonction pour gérer les configurations de réplication logiques et comprendre les points de cohérence de la réplication. Disponible à partir de la version d'rds_toolsextension 1.2.
Prototype de fonction
rds_tools.logical_seed_lsn()
Arguments
Aucune.
Output
Une valeur pg_lsn.
Exemple d’utilisation
=> SELECT rds_tools.logical_seed_lsn(); logical_seed_lsn ------------------ 0/1677B68 (1 row)
rds_tools.db_instance_identifier
Affiche l'identifiant de l'instance de base de données. Vous spécifiez cet identifiant lorsque vous créez l'instance de base de données, et les services AWS l'utilisent partout pour identifier votre base de données. Disponible à partir de la version d'rds_toolsextension 1.2.
Prototype de fonction
rds_tools.db_instance_identifier()
Arguments
Aucune.
Output
Chaîne de caractères contenant l'identifiant de l'instance de base de données.
Exemple d’utilisation
=> SELECT rds_tools.db_instance_identifier(); db_instance_identifier ------------------------ my-postgres-instance (1 row)
rds_tools.dbi_resource_id
Affiche l'ID de ressource d'instance de base de données (ID de ressource DBI) de votre instance de base de données. L'ID de ressource DBI est un identifiant unique et immuable généré par AWS pour l'instance de base de données. Il reste constant pendant toute la durée de vie de l'instance, même si vous renommez l'instance. Utilisez cette valeur pour corréler l'activité de la base de données avec CloudTrail les journaux AWS ou d'autres services de surveillance AWS. Cette valeur correspond au DbiResourceId champ renvoyé par la commande d'API DBInstance RDS. Disponible à partir de la version d'rds_toolsextension 1.4.
Prototype de fonction
rds_tools.dbi_resource_id()
Arguments
Aucune.
Output
Chaîne de caractères contenant l'ID de ressource DBI.
Exemple d’utilisation
=> SELECT rds_tools.dbi_resource_id(); dbi_resource_id ----------------------------------- db-ABC123DEF456GHI789JKL012MNO345P (1 row)
rds_tools.multi_az_db_cluster_source_dbi_resource_id
Affiche l'ID de ressource DBI de l'instance source pour un déploiement de Multi-AZ cluster de base de données. Utilisez cette fonction pour comprendre la relation entre les instances d'une Multi-AZ configuration et pour résoudre les problèmes liés aux scénarios de réplication ou de basculement. Disponible à partir de la version d'rds_toolsextension 1.4.
Prototype de fonction
rds_tools.multi_az_db_cluster_source_dbi_resource_id()
Arguments
Aucune.
Output
Chaîne de caractères contenant l'ID de ressource DBI source. Renvoie NULL si l'instance ne fait pas partie d'un Multi-AZ cluster de base de données, si le fichier de configuration n'existe pas ou si le dbi_resource_id champ n'existe pas dans la configuration.
Exemple d’utilisation
=> SELECT rds_tools.multi_az_db_cluster_source_dbi_resource_id(); multi_az_db_cluster_source_dbi_resource_id -------------------------------------------- db-XYZ789ABC123DEF456GHI012JKL345MNO678P (1 row)
rds_tools.show_topologie
Affiche les métadonnées topologiques pour les Multi-AZ clusters RDS, ce qui permet des commutations rapides en fournissant des informations de connexion pour toutes les instances du cluster. Les bibliothèques clientes telles que le pilote AWS Advanced JDBC Wrapper utilisent cette fonction de retour d'ensembles pour se connecter directement à toutes les instances d'un cluster RDS. Multi-AZ Pour identifier l'ID de ressource de l'instance du rédacteur, utilisez cette fonction conjointement avec la rds_tools.multi_az_db_cluster_source_dbi_resource_id fonction. Disponible à partir de la version d'rds_toolsextension 1.4.
Prototype de fonction
rds_tools.show_topology([client_identifier])
Arguments
-
client_identifier(facultatif) — Identifiant de la bibliothèque cliente ou du proxy qui interroge la topologie. Ce paramètre est facultatif mais recommandé, car il permet à Amazon RDS de suivre les clients qui interrogent activement la topologie et fournit une télémétrie pour prendre en charge d'autres clients.
Output
-
id— L'ID de ressource DBI de chaque instance du cluster RDS. Multi-AZ -
endpoint— Le point de terminaison de chaque nœud du cluster. -
port— Le numéro de port de chaque instance du Multi-AZ cluster RDS. -
role— Le rôle du nœud dans le cluster, tel que rédacteur ou lecteur. -
status— État du nœud. -
version— Version de l'enregistrement topologique.
Exemple d’utilisation
=> SELECT id, endpoint, port, role FROM rds_tools.show_topology('my-jdbc-app'); id | endpoint | port | role -----------------+-----------------------------------------------------------+------+-------- db-IDENTIFIER-1 | somedb-instance-1.aaaaaaaaaaaa.us-west-2.rds.amazonaws.com | 5432 | writer db-IDENTIFIER-2 | somedb-instance-2.aaaaaaaaaaaa.us-west-2.rds.amazonaws.com | 5432 | reader db-IDENTIFIER-3 | somedb-instance-3.aaaaaaaaaaaa.us-west-2.rds.amazonaws.com | 5432 | reader (3 rows)
rds_tools.pg_ls_multixactdir
Répertorie le contenu du pg_multixact répertoire qui stocke les données multitransactions dans PostgreSQL. Utilisez cette fonction de retour d'ensembles pour surveiller l'utilisation du multixact, résoudre les problèmes liés au multixact et comprendre les modèles de stockage des bases de données. Disponible à partir de la version d'rds_toolsextension 1.7.
Prototype de fonction
rds_tools.pg_ls_multixactdir()
Arguments
Aucune.
Output
-
name— Le nom du fichier ou du répertoire. -
size— Taille en octets. -
modification— L'horodatage de la dernière modification.
Exemple d’utilisation
=> SELECT * FROM rds_tools.pg_ls_multixactdir(); name | size | modification ---------------------------+------+------------------------ pg_multixact/members/ | 4096 | 2026-10-01 19:17:29+00 pg_multixact/members/0000 | 8192 | 2025-08-22 21:53:46+00 pg_multixact/offsets/ | 4096 | 2026-10-01 19:17:29+00 pg_multixact/offsets/0000 | 8192 | 2026-10-01 19:22:38+00 (4 rows)