Categorias:

Information Schema , Funções de tabela

REPLICATION_GROUP_REFRESH_PROGRESS, REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB

A família de funções REPLICATION_GROUP_REFRESH_PROGRESS pode ser usada para consultar o status de uma atualização de grupo de replicação ou failover:

  • REPLICATION_GROUP_REFRESH_PROGRESS retorna um objeto JSON indicando o status de atualização de uma replicação secundária ou grupo de failover por nome.

  • REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB retorna um objeto JSON indicando o status de atualização de uma replicação secundária ou grupo de failover por ID de consulta.

Nota

  • REPLICATION_GROUP_REFRESH_PROGRESS só retorna a atividade de atualização do grupo de replicação ou failover para a atualização mais recente se ela tiver ocorrido nos últimos 14 dias.

  • REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB retorna a atividade de atualização do grupo de replicação ou failover nos últimos 14 dias.

Sintaxe

REPLICATION_GROUP_REFRESH_PROGRESS( '<secondary_group_name>' )

REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB( '<query_id>' )
Copy

Argumentos

secondary_group_name

Nome do grupo de replicação ou failover secundário. Observe que o nome completo deve ser delimitado por aspas simples.

query_id

ID da consulta de atualização do grupo de replicação. A ID da consulta pode ser obtida da página History History tab na interface da Web.

Saída

A função retorna as seguintes colunas:

Nome da coluna

Tipo de dados

Descrição

PHASE_NAME

TEXT

Nome das fases de replicação concluídas (ou em andamento) até o momento. Para a lista de fases, consulte as notas de uso.

START_TIME

TIMESTAMP_LTZ

Hora em que a fase de replicação começou.

END_TIME

TIMESTAMP_LTZ

Hora em que a fase terminou, se aplicável. NULL se a fase estiver em andamento ou for a fase de término (COMPLETED/FAILED/CANCELED).

PROGRESS

TEXT

  • PRIMARY_UPLOADING_DATA: Porcentagem do total de bytes replicados.

  • SECONDARY_DOWNLOADING_METADATA: Porcentagem do número total de objetos replicados.

  • SECONDARY_DOWNLOADING_DATA: Porcentagem do total de bytes replicados.

Vazio para as fases restantes

DETAILS

VARIANT

  • Para a fase PRIMARY_UPLOADING_METADATA:

    • primarySnapshotTimestamp: Hora em que a imagem principal foi criada. O formato é hora de época.

  • Para a fase PRIMARY_UPLOADING_DATA:

    • totalBytesToReplicate: Número total de bytes que se espera que sejam carregados.

    • totalBytesToUpload: Número total de bytes que precisam ser carregados.

    • bytesUploaded: Número total de bytes carregados até o momento.

    • databases: Lista de objetos JSON contendo os seguintes campos para cada banco de dados membro:

      • name: Nome do banco de dados

      • totalBytesToReplicate: Número total de bytes que se espera que sejam carregados para o banco de dados.

  • Para a fase SECONDARY_DOWNLOADING_DATA:

    • totalBytesToReplicate: Número total de bytes que se espera baixar.

    • totalBytesToDownload: Número total de bytes que precisam ser baixados.

    • bytesDownloaded: Número real de bytes baixados até o momento.

    • databases: Lista de objetos JSON contendo os seguintes campos para cada banco de dados membro:

      • name: Nome do banco de dados

      • totalBytesToReplicate: Total de bytes que se espera baixar para o banco de dados.

  • Para a fase SECONDARY_DOWNLOADING_METADATA:

    • totalObjects: Número total de objetos a serem baixados.

    • completedObjects: Número total de objetos baixados até o momento.

    • objectTypes: Lista de objetos JSON contendo os seguintes campos para cada tipo de objeto:

      • objectType: Tipo de objeto (por exemplo, usuários, funções, concessões, warehouses, esquemas, tabelas, colunas, etc.).

      • totalObjects: Número total de objetos desse tipo.

      • completedObjects: Número de objetos completados deste tipo.

  • Para a fase FAILED:

    • errorCode: Código de erro da falha.

    • errorMessage: Mensagem de erro da falha.

Notas de uso

  • Só retorna linhas para uma função com qualquer privilégio sobre o grupo de replicação ou failover.

  • Só retorna linhas para um grupo de replicação ou failover secundário na conta atual.

  • Ao chamar uma função de tabela do Information Schema, a sessão deve ter um esquema INFORMATION_SCHEMA em uso ou o nome da função deve ser totalmente qualificado. Para obter mais detalhes, consulte Snowflake Information Schema.

  • A seguir está a lista das fases na ordem processada:

    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

  • Nas fases PRIMARY_UPLOADING_DATA e SECONDARY_DOWNLOADING_DATA, o valor totalBytesToReplicate é estimado antes da operação de replicação. Esse valor pode ser diferente do valor totalBytesToUpload ou totalBytesToDownload na respectiva fase.

    Por exemplo, se durante a fase PRIMARY_UPLOADING_DATA, uma operação de replicação anterior carregasse alguns bytes mas fosse cancelada antes que a operação fosse concluída, esses bytes não seriam carregados novamente. Nesse caso, totalBytesToUpload seria inferior a totalBytesToReplicate.

Exemplos

Obtenha o progresso atual da atualização do grupo de replicação para o grupo de replicação rg1:

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

Obtenha o progresso atual de uma atualização de grupo de replicação pela ID da consulta:

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