Visualizzazione SCHEMATA_REPLICAS
La vista INFORMATION_SCHEMA.SCHEMATA_REPLICAS
contiene informazioni sulle repliche degli schemi.
Ruolo richiesto
Per ottenere le autorizzazioni necessarie per eseguire query sulla vista INFORMATION_SCHEMA.SCHEMATA_REPLICAS
, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore dati BigQuery (roles/bigquery.dataViewer
) per il progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Schema
La vistaINFORMATION_SCHEMA.SCHEMATA_REPLICAS
contiene informazioni sulle repliche del set di dati.
La vista INFORMATION_SCHEMA.SCHEMATA_REPLICAS
ha il seguente schema:
Colonna | Tipo | Descrizione |
---|---|---|
catalog_name |
STRING |
L'ID del progetto che contiene il set di dati. |
schema_name |
STRING |
L'ID del set di dati. |
replica_name |
STRING |
Il nome della replica. |
location |
STRING |
La regione o più regioni in cui è stata creata la replica. |
replica_primary_assigned |
BOOL |
Se il valore è TRUE , la replica ha l'assegnazione principale. |
replica_primary_assignment_complete |
BOOL |
Se il valore è TRUE , l'assegnazione principale è stata completata.
Se il valore è FALSE , la replica non è (ancora) la replica principale, anche se replica_primary_assigned è uguale a
TRUE . |
creation_time |
TIMESTAMP |
Data/ora di creazione della replica. Quando la replica viene creata per la prima volta, non viene sincronizzata completamente con la replica principale finché
creation_complete non equivale a TRUE . Il valore di
creation_time viene impostato prima di creation_complete uguale a
TRUE . |
creation_complete |
BOOL |
Se il valore è TRUE , la sincronizzazione completa iniziale della replica principale con la replica secondaria viene completata. |
replication_time |
TIMESTAMP |
Il valore di Alcune tabelle nella replica potrebbero essere precedenti a questo timestamp. Questo valore è visibile solo nella regione secondaria. Se il set di dati contiene una tabella con flussi di dati, il valore di |
Ambito e sintassi
Le query in questa vista devono includere un qualificatore regione. La tabella seguente spiega l'ambito della regione per questa visualizzazione:
Nome vista | Ambito risorsa | Ambito regione |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS[_BY_PROJECT] |
A livello di progetto | REGION |
- (Facoltativo)
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito. REGION
: qualsiasi nome della regione del set di dati. Ad esempio:region-us
.
Esempi
In questa sezione sono elencati esempi di query per la vista INFORMATION_SCHEMA.SCHEMATA_REPLICAS
.
Esempio: elenco di tutti i set di dati replicati in una regione
Nell'esempio seguente sono elencati tutti i set di dati replicati nella regione US
:
SELECT * FROM `region-us`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS;
Il risultato è simile al seguente:
+---------------------+-------------------+--------------+----------+--------------------------+-------------------------------------+---------------------+-------------------+------------------+ | catalog_name | schema_name | replica_name | location | replica_primary_assigned | replica_primary_assignment_complete | creation_time | creation_complete | replication_time | +---------------------+-------------------+--------------+----------+--------------------------+-------------------------------------+---------------------+-------------------+------------------+ | myproject | replica1 | us-east7 | us-east7 | true | true | 2023-04-17 20:42:45 | true | NULL | | myproject | replica1 | us-east4 | us-east4 | false | false | 2023-04-17 20:44:26 | true | NULL | +---------------------+-------------------+--------------+----------+--------------------------+-------------------------------------+---------------------+-------------------+------------------+
Esempio: elenco dei set di dati replicati e della replica principale per ciascuno
Nell'esempio seguente sono elencati tutti i set di dati replicati e la relativa replica principale nella regione US
:
SELECT catalog_name, schema_name, replica_name AS primary_replica_name, location AS primary_replica_location, replica_primary_assignment_complete AS is_primary, FROM `region-us`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS WHERE replica_primary_assignment_complete = TRUE AND replica_primary_assigned = TRUE;
Il risultato è simile al seguente:
+---------------------+-------------+----------------------+--------------------------+------------+ | catalog_name | schema_name | primary_replica_name | primary_replica_location | is_primary | +---------------------+-------------+----------------------+--------------------------+------------+ | myproject | my_schema1 | us-east4 | us-east4 | true | | myproject | my_schema2 | us | US | true | | myproject | my_schema2 | us | US | true | +---------------------+-------------+----------------------+--------------------------+------------+
Esempio: elenco dei set di dati replicati e dei relativi stati di replica
Nell'esempio seguente sono elencati tutti i set di dati replicati e i relativi stati di replica:
SELECT catalog_name, schema_name, replica_name, CASE WHEN (replica_primary_assignment_complete = TRUE AND replica_primary_assigned = TRUE) THEN 'PRIMARY' WHEN (replica_primary_assignment_complete = FALSE AND replica_primary_assigned = FALSE) THEN 'SECONDARY' ELSE 'PENDING' END AS replica_state, FROM `region-us`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS;
Il risultato è simile al seguente:
+---------------------+-------------+--------------+---------------+ | catalog_name | schema_name | replica_name | replica_state | +---------------------+-------------+--------------+---------------+ | myproject | my_schema1 | us-east4 | PRIMARY | | myproject | my_schema1 | my_replica | SECONDARY | +---------------------+-------------+--------------+---------------+
Esempio: elenco dei momenti in cui è stata creata ogni replica e se il backfill iniziale è stato completato
Nell'esempio seguente sono elencate tutte le repliche e quando è stata creata. Quando viene creata una replica secondaria, i relativi dati non vengono sincronizzati completamente con la replica principale finché creation_complete
non equivale a TRUE
.
SELECT catalog_name, schema_name, replica_name, creation_time AS creation_time, FROM `region-us`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS WHERE creation_complete = TRUE;
Il risultato è simile al seguente:
+---------------------+-------------+--------------+---------------------+ | catalog_name | schema_name | replica_name | creation_time | +---------------------+-------------+--------------+---------------------+ | myproject | my_schema1 | us-east4 | 2023-06-15 00:09:11 | | myproject | my_schema2 | us | 2023-06-15 00:19:27 | | myproject | my_schema2 | my_replica2 | 2023-06-15 00:19:50 | | myproject | my_schema1 | my_replica | 2023-06-15 00:16:19 | +---------------------+-------------+--------------+---------------------+
Esempio: mostra l'ora di sincronizzazione più recente
L'esempio seguente mostra il timestamp più recente relativo al rilevamento della replica secondaria e alla replica principale.
Devi eseguire questa query nella regione che contiene la replica secondaria. Alcune tabelle nel set di dati potrebbero essere in anticipo rispetto all'ora di replica riportata.
SELECT catalog_name, schema_name, replica_name, replication_time AS secondary_replica_fully_synced_as_of_time, FROM `region-us`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS
Il risultato è simile al seguente:
+---------------------+-------------+--------------+-------------------------------------------+ | catalog_name | schema_name | replica_name | secondary_replica_fully_synced_as_of_time | +---------------------+-------------+--------------+-------------------------------------------+ | myproject | my_schema1 | us-east4 | NULL | | myproject | my_schema2 | us | NULL | | myproject | my_schema1 | my_replica | 2023-06-15 00:28:49 | | myproject | my_schema2 | my_replica2 | 2023-06-15 00:29:20 | +---------------------+-------------+--------------+-------------------------------------------+
Un valore NULL
indica che la replica secondaria non è mai stata completamente sincronizzata con quella principale.