Fonctions de base de données Aurora Postgre SQL Limitless - Amazon Aurora

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.

Fonctions de base de données Aurora Postgre SQL Limitless

Le tableau suivant présente les nouvelles fonctions de la base de données Aurora Postgre SQL Limitless.

Note

Les fonctions répertoriées dans ce tableau se trouvent dans le rds_aurora schéma. Lorsque vous utilisez une fonction de base de données illimitée, assurez-vous d'inclure le nom complet de l'objet :rds_aurora. object_name.

Fonction de base de données Aurora Postgre SQL Limitless Fonction Aurora Postgre SQL correspondante
limitless_backend_dsid pg_backend_pid
annulation_session illimitée pg_cancel_backend
limitless_stat_clear_snapshot pg_stat_clear_snapshot
taille_de_base_stat_limite_base de données pg_database_size
limitless_stat_get_snapshot_timestamp pg_stat_get_snapshot_timestamp
limitless_stat_prepared_xacts pg_prepared_xacts
tailles_stat_relation_illimitées pg_indexes_size, pg_relation_size, pg_table_size, pg_total_relation_size
limitless_stat_reset pg_stat_reset
limitless_stat_statements_reset pg_stat_statements_reset
limitless_stat_system_waits aurora_stat_system_waits
termination_session illimitée pg_terminate_backend
rapport d'attente illimité aurora_wait_report

Les exemples suivants fournissent des détails sur les fonctions de la base de données Aurora Postgre SQL Limitless. Pour plus d'informations sur les SQL fonctions Postgre, consultez la section Fonctions et opérateurs dans la documentation PostgreSQL.

limitless_backend_dsid

La limitless_backend_dsid fonction renvoie l'ID de session distribué pour la session en cours. Une session distribuée s'exécute sur un routeur d'un groupe de partitions de base de données et implique des processus principaux sur une ou plusieurs partitions du groupe de partitions de base de données.

L'exemple suivant montre comment utiliser la limitless_backend_dsid fonction.

SELECT rds_aurora.limitless_backend_dsid(); limitless_backend_dsid ------------------------ 8CACD7B04D0FC2A5 (1 row)
annulation_session illimitée

La limitless_cancel_session fonction fonctionne de la même manière quepg_cancel_backend, mais elle essaie d'annuler tous les processus principaux liés à l'ID de session distribué fourni en envoyant un SIGINT (signal d'interruption).

Le paramètre d'entrée est le suivant :

  • distributed_session_id(texte) — L'ID de la session distribuée à annuler.

Les paramètres de sortie sont les suivants :

  • subcluster_id(texte) — L'ID du sous-cluster auquel appartient ce processus.

  • pid(texte) — L'ID du processus principal.

  • success(booléen) — Indique si l'annulation a été réussie.

L'exemple suivant montre comment utiliser la limitless_cancel_session fonction.

SELECT * FROM rds_aurora.limitless_cancel_session('940CD5C81E3C796B'); subcluster_id | pid | success ---------------+-------+--------- 1 | 26920 | t (1 row)
limitless_stat_clear_snapshot

La limitless_stat_clear_snapshot fonction supprime l'instantané des statistiques actuelles ou les informations mises en cache sur tous les nœuds.

L'exemple suivant montre comment utiliser la limitless_stat_clear_snapshot fonction.

SELECT rds_aurora.limitless_stat_clear_snapshot();
taille_de_base_stat_limite_base de données

La limitless_stat_database_size fonction renvoie les tailles d'une base de données dans le groupe de partitions de base de données.

Le paramètre d'entrée est le suivant :

  • dbname(name) — Base de données pour laquelle vous souhaitez obtenir les tailles.

Les paramètres de sortie sont les suivants :

  • subcluster_id(texte) — L'ID du sous-cluster auquel appartient ce processus.

  • subcluster_type(texte) — Le type de sous-cluster auquel appartient ce processus : router oushard.

  • db_size— Taille de la base de données de ce sous-cluster en octets.

L'exemple suivant montre comment utiliser la limitless_stat_database_size fonction.

SELECT * FROM rds_aurora.limitless_stat_database_size('postgres_limitless'); subcluster_id | subcluster_type | db_size ---------------+-----------------+---------- 1 | router | 8895919 2 | router | 8904111 3 | shard | 21929391 4 | shard | 21913007 5 | shard | 21831087 (5 rows)
limitless_stat_get_snapshot_timestamp

La limitless_stat_get_snapshot_timestamp fonction renvoie l'horodatage de l'instantané des statistiques en cours, ou NULL si aucun instantané des statistiques n'a été pris. Un instantané est pris la première fois que les statistiques cumulées sont consultées dans le cadre d'une transaction si stats_fetch_consistency ce paramètre est défini sursnapshot. Renvoie une vue consolidée des horodatages des instantanés de tous les nœuds. Les subcluster_type colonnes subcluster_id et indiquent de quel nœud proviennent les données.

L'exemple suivant montre comment utiliser la limitless_stat_get_snapshot_timestamp fonction.

SELECT * FROM rds_aurora.limitless_stat_get_snapshot_timestamp(); subcluster_id | subcluster_type | snapshot_timestamp ---------------+-----------------+-------------------- 1 | router | 2 | router | 3 | shard | 4 | shard | 5 | shard | (5 rows)
limitless_stat_prepared_xacts

La limitless_stat_prepared_xacts fonction renvoie des informations sur les transactions sur tous les nœuds actuellement préparés pour une validation en deux phases. Pour plus d'informations, consultez pg_prepared_xacts dans la documentation Postgre. SQL

L'exemple suivant montre comment utiliser la limitless_stat_prepared_xacts fonction.

postgres_limitless=> SELECT * FROM rds_aurora.limitless_stat_prepared_xacts; subcluster_id | subcluster_type | transaction_id | gid | prepared | owner_id | database_id ---------------+-----------------+----------------+------------------------------+-------------------------------+------------+-------------------- 8 | shard | 5815978 | 7_4599899_postgres_limitless | 2024-09-03 15:51:17.659603+00 | auroraperf | postgres_limitless 12 | shard | 4599138 | 7_4599899_postgres_limitless | 2024-09-03 15:51:17.659637+00 | auroraperf | postgres_limitless (2 rows)
tailles_stat_relation_illimitées

La limitless_stat_relation_sizes fonction renvoie les différentes tailles d'une table dans le groupe de partitions de base de données.

Les paramètres d'entrée sont les suivants :

  • relnspname(nom) — Le nom du schéma contenant la table.

  • relname(name) — Le nom de la table.

Les paramètres de sortie sont les suivants :

  • subcluster_id(texte) — L'ID du sous-cluster auquel appartient ce processus.

  • subcluster_type(texte) — Le type de sous-cluster auquel appartient ce processus : router oushard.

  • main_size— Taille en octets de la fourche de données principale de ce nœud.

  • fsm_size— Taille en octets de la carte de l'espace libre de la table dans ce nœud.

  • vm_size— Taille en octets de la carte de visibilité de la table de ce nœud.

  • init_size— Taille en octets de l'initialisation de la table dans ce nœud.

  • toast_size— Taille en octets de la table Toast associée à la table de ce fork.

  • index_size— Taille en octets de tous les index de la table de ce nœud.

  • total_size— Taille en octets de tous les segments de la table dans ce nœud.

L'exemple suivant montre comment utiliser la limitless_stat_relation_sizes fonction (certaines colonnes sont omises).

SELECT * FROM rds_aurora.limitless_stat_relation_sizes('public','customers'); subcluster_id | subcluster_type | main_size | fsm_size | vm_size | toast_size | table_size | total_size ---------------+-----------------+-----------+----------+---------+------------+------------+------------ 1 | router | 0 | 0 | 0 | 0 | 0 | 0 2 | router | 0 | 0 | 0 | 0 | 0 | 0 3 | shard | 4169728 | 4177920 | 1392640 | 1392640 | 11132928 | 11132928 4 | shard | 4169728 | 4177920 | 1392640 | 1392640 | 11132928 | 11132928 5 | shard | 3981312 | 4227072 | 1409024 | 1409024 | 11026432 | 11026432 (5 rows)
limitless_stat_reset

La limitless_stat_reset fonction remet à zéro (0) tous les compteurs de statistiques de la base de données actuelle. Si cette option track_functions est activée, la stats_reset colonne limitless_stat_database indique la dernière fois que les statistiques ont été réinitialisées pour la base de données. Par défaut, il ne limitless_stat_reset peut être exécuté que par un superutilisateur. Les autres utilisateurs peuvent obtenir une autorisation en utilisant EXECUTE ce privilège.

L'exemple suivant montre comment utiliser la limitless_stat_reset fonction.

SELECT tup_inserted, tup_deleted FROM pg_stat_database WHERE datname = 'postgres_limitless'; tup_inserted | tup_deleted --------------+------------- 896 | 0 (1 row) SELECT rds_aurora.limitless_stat_reset(); limitless_stat_reset --------------------- (1 row) SELECT tup_inserted, tup_deleted FROM pg_stat_database WHERE datname = 'postgres_limitless'; tup_inserted | tup_deleted -------------+------------- 0 | 0 (1 row)
limitless_stat_statements_reset

La limitless_stat_statements_reset fonction ignore les statistiques collectées jusqu'à présent en limitless_stat_statements correspondant aux queryid paramètres spécifiés usernamedbname,distributed_query_id, et. Si aucun paramètre n'est spécifié, la valeur par défaut "" ou 0 (non valide) est utilisée pour chacun d'entre eux, et les statistiques correspondant aux autres paramètres sont réinitialisées. Si aucun paramètre n'est spécifié, ou si tous les paramètres spécifiés le sont "" ou 0 (non valides), la fonction ignore toutes les statistiques. Si toutes les statistiques de la limitless_stat_statements vue sont supprimées, la fonction réinitialise également les statistiques de la vue. limitless_stat_statements_info

Les paramètres d'entrée sont les suivants :

  • username(nom) — L'utilisateur qui a demandé la déclaration.

  • dbname(nom) — Base de données dans laquelle la requête a été exécutée.

  • distributed_query_id(bigint) — L'ID de requête de la requête parent provenant du nœud coordinateur. Cette colonne l'est NULL s'il s'agit de la requête parent. Le nœud coordinateur transmet l'ID de requête distribué aux nœuds participants. Ainsi, pour les nœuds participants, les valeurs de l'ID de requête distribué et de l'ID de requête sont différentes.

  • queryid(bigint) — L'ID de requête de l'instruction.

L'exemple suivant montre comment utiliser la limitless_stat_statements_reset fonction pour réinitialiser toutes les statistiques collectées parlimitless_stat_statements.

SELECT rds_aurora.limitless_stat_statements_reset();
limitless_stat_system_waits

La limitless_stat_system_waits fonction renvoie une vue consolidée des données relatives aux événements d'attente à partir de tous les nœudsaurora_stat_system_waits, qui indique l'activité d'attente à l'échelle du système dans une instance. Les subcluster_type colonnes subcluster_id et indiquent de quel nœud proviennent les données.

L'exemple suivant montre comment utiliser la limitless_stat_system_waits fonction.

postgres_limitless=> SELECT * FROM rds_aurora.limitless_stat_system_waits() lssw, pg_catalog.aurora_stat_wait_event() aswe WHERE lssw.event_id=aswe.event_id and aswe.event_name='LimitlessTaskScheduler'; subcluster_id | subcluster_type | type_id | event_id | waits | wait_time | event_name ---------------+-----------------+---------+-----------+--------+--------------+------------------------ 1 | router | 12 | 201326607 | 677068 | 616942216307 | LimitlessTaskScheduler 2 | router | 12 | 201326607 | 678586 | 616939897111 | LimitlessTaskScheduler 3 | shard | 12 | 201326607 | 756640 | 616965545172 | LimitlessTaskScheduler 4 | shard | 12 | 201326607 | 755184 | 616958057620 | LimitlessTaskScheduler 5 | shard | 12 | 201326607 | 757522 | 616963183539 | LimitlessTaskScheduler (5 rows)
termination_session illimitée

La limitless_terminate_session fonction fonctionne de la même manière quepg_terminate_backend, mais elle essaie de mettre fin à tous les processus principaux liés à l'ID de session distribué fourni en envoyant un SIGTERM (signal de fin).

Le paramètre d'entrée est le suivant :

  • distributed_session_id(texte) — L'ID de la session distribuée à terminer.

Les paramètres de sortie sont les suivants :

  • subcluster_id(texte) — L'ID du sous-cluster auquel appartient ce processus.

  • pid(texte) — L'ID du processus principal.

  • success(boolean) — Indique si le processus s'est terminé avec succès.

L'exemple suivant montre comment utiliser la limitless_terminate_session fonction.

SELECT * FROM rds_aurora.limitless_terminate_session('940CD5C81E3C796B'); subcluster_id | pid | success ---------------+-------+--------- 1 | 26920 | t (1 row)
rapport d'attente illimité

La limitless_wait_report fonction renvoie l'activité des événements d'attente sur une période donnée à partir de tous les nœuds. Les subcluster_type colonnes subcluster_id et indiquent de quel nœud proviennent les données.

Les paramètres de sortie sont les suivants :

  • subcluster_id(texte) — L'ID du sous-cluster auquel appartient ce processus.

  • subcluster_type(texte) — Le type de sous-cluster auquel appartient ce processus : router oushard.

Les autres colonnes sont les mêmes que dansaurora_wait_report.

L'exemple suivant montre comment utiliser la limitless_wait_report fonction.

postgres_limitless=> select * from rds_aurora.limitless_wait_report(); subcluster_id | subcluster_type | type_name | event_name | waits | wait_time | ms_per_wait | waits_per_xact | ms_per_xact ---------------+-----------------+-----------+------------+-------+-----------+-------------+--------------- +------------- 1 | router | Client | ClientRead | 57 | 741550.14 | 13009.652 | 0.19 | 2505.237 5 | shard | Client | ClientRead | 54 | 738897.68 | 13683.290 | 0.18 | 2496.276 4 | shard | Client | ClientRead | 54 | 738859.53 | 13682.584 | 0.18 | 2496.147 2 | router | Client | ClientRead | 53 | 719223.64 | 13570.257 | 0.18 | 2429.810 3 | shard | Client | ClientRead | 54 | 461720.40 | 8550.378 | 0.18 | 1559.86