Catégories :

Information Schema , Fonctions de table

REPLICATION_GROUP_REFRESH_PROGRESS, REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB

La famille de fonctions REPLICATION_GROUP_REFRESH_PROGRESS peut être utilisée pour interroger le statut d’actualisation d’un groupe de réplication ou de basculement :

  • REPLICATION_GROUP_REFRESH_PROGRESS renvoie un objet JSON indiquant le statut d’actualisation d’un groupe de réplication ou de basculement secondaire par nom.

  • REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB renvoie un objet JSON indiquant le statut d’actualisation d’un groupe de réplication ou de basculement secondaire par ID de requête.

Note

  • REPLICATION_GROUP_REFRESH_PROGRESS renvoie uniquement l’activité d’actualisation du groupe de réplication ou du groupe de basculement pour la plus récente actualisation si elle a eu lieu au cours des 14 derniers jours.

  • REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB renvoie l’activité d’actualisation du groupe de réplication ou du groupe de basculement au cours des 14 derniers jours.

Syntaxe

REPLICATION_GROUP_REFRESH_PROGRESS( '<secondary_group_name>' )

REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB( '<query_id>' )
Copy

Arguments

secondary_group_name

Nom du groupe de réplication ou de basculement secondaire. Notez que le nom entier doit être entre guillemets simples.

query_id

ID de la requête d’actualisation du groupe de réplication. L’ID de requête peut être obtenu à partir de la page History Onglet Historique dans l’interface Web.

Sortie

La fonction renvoie les colonnes suivantes :

Nom de la colonne

Type de données

Description

PHASE_NAME

TEXT

Nom des phases de réplication terminées (ou en cours) jusqu’à présent. Pour la liste des phases, voir les notes d’utilisation.

START_TIME

TIMESTAMP_LTZ

Heure à laquelle la phase de réplication a commencé.

END_TIME

TIMESTAMP_LTZ

Heure à laquelle la phase s’est terminée, le cas échéant. NULL si la phase est en cours ou est la phase finale (COMPLETED/FAILED/CANCELED).

PROGRESS

TEXT

  • PRIMARY_UPLOADING_DATA : pourcentage du total des octets répliqués.

  • SECONDARY_DOWNLOADING_METADATA : pourcentage du nombre total d’objets répliqués.

  • SECONDARY_DOWNLOADING_DATA : pourcentage du total des octets répliqués.

Vide pour les phases restantes

DETAILS

VARIANT

  • Pour la phase PRIMARY_UPLOADING_METADATA :

    • primarySnapshotTimestamp : heure à laquelle l’instantané principal a été créé. Le format est l’heure de l’époque.

  • Pour la phase PRIMARY_UPLOADING_DATA :

    • totalBytesToReplicate : nombre total d’octets attendus à charger.

    • totalBytesToUpload : nombre total d’octets à télécharger.

    • bytesUploaded : nombre total d’octets chargés jusqu’à présent.

    • databases : liste d’objets JSON contenant les champs suivants pour chaque base de données membre :

      • name : nom de la base de données.

      • totalBytesToReplicate : nombre total d’octets attendus pour le chargement pour la base de données.

  • Pour la phase SECONDARY_DOWNLOADING_DATA :

    • totalBytesToReplicate : nombre total d’octets attendus à télécharger.

    • totalBytesToDownload : nombre réel d’octets attendus à télécharger.

    • bytesDownloaded : nombre réel d’octets téléchargés jusqu’à présent.

    • databases : liste d’objets JSON contenant les champs suivants pour chaque base de données membre :

      • name : nom de la base de données.

      • totalBytesToReplicate : nombre total d’octets à attendus à télécharger pour la base de données.

  • Pour la phase SECONDARY_DOWNLOADING_METADATA :

    • totalObjects : nombre total d’objets à télécharger.

    • completedObjects : nombre total d’objets téléchargés jusqu’à présent.

    • objectTypes : liste d’objets JSON contenant les champs suivants pour chaque type d’objet :

      • objectType : type d’objet (par exemple utilisateurs, rôles, accords de privilèges, entrepôts, schémas, tables, colonnes, etc.).

      • totalObjects : nombre total d’objets de ce type.

      • completedObjects : nombre d’objets terminés de ce type.

  • Pour la phase FAILED :

    • errorCode : code d’erreur de l’échec.

    • errorMessage : message d’erreur de l’échec.

Notes sur l’utilisation

  • Ne renvoie que les lignes pour un rôle ayant un quelconque privilège sur le groupe de réplication ou de basculement.

  • Renvoie uniquement les lignes pour un groupe de réplication ou de basculement secondaire dans le compte actuel.

  • Lors de l’appel d’une fonction de table Information Schema, la session doit avoir un schéma INFORMATION_SCHEMA en cours d’utilisation ou le nom de la fonction doit être complètement qualifié. Pour plus de détails, voir Schéma d’information de Snowflake.

  • Voici la liste des phases de traitement dans l’ordre :

    1. SECONDARY_SYNCHRONIZING_MEMBERSHIP

    2. SECONDARY_UPLOADING_INVENTORY

    3. PRIMARY_UPLOADING_METADATA

    4. PRIMARY_UPLOADING_DATA

    5. SECONDARY_DOWNLOADING_METADATA

    6. SECONDARY_DOWNLOADING_DATA

    7. COMPLETED / FAILED / CANCELED

  • Dans les phases PRIMARY_UPLOADING_DATA et SECONDARY_DOWNLOADING_DATA, la valeur totalBytesToReplicate est estimée avant l’opération de réplication. Cette valeur peut différer de la valeur totalBytesToUpload ou totalBytesToDownload dans la phase respective.

    Par exemple, si au cours de la phase PRIMARY_UPLOADING_DATA, une opération de réplication précédente a téléchargé certains octets mais a été annulée avant la fin de l’opération, ces octets ne seront pas téléchargés à nouveau. Dans ce cas, totalBytesToUpload serait inférieur à totalBytesToReplicate.

Exemples

Récupérez la progression actuelle de l’actualisation du groupe de réplication pour le groupe de réplication rg1 :

select *
from table(information_schema.replication_group_refresh_progress('rg1'));
Copy

Récupérez la progression actuelle d’une actualisation du groupe de réplication à l’aide de l’ID de requête :

select *
from table(information_schema.replication_group_refresh_progress_by_job('012a3b45-1234-a12b-0000-1aa200012345'));
Copy