- Categories:
REPLICATION_GROUP_REFRESH_HISTORY, REPLICATION_GROUP_REFRESH_HISTORY_ALL¶
You can use the REPLICATION_GROUP_REFRESH_HISTORY family of table functions to query the replication history for one secondary replication or failover group, or all such groups, within the last 14 days.
Syntax¶
REPLICATION_GROUP_REFRESH_HISTORY( '<secondary_group_name>' )
REPLICATION_GROUP_REFRESH_HISTORY_ALL()
Arguments¶
'secondary_group_name'Name of the secondary group. The entire name must be enclosed in single quotes.
Output¶
The function returns the following columns. REPLICATION_GROUP_REFRESH_HISTORY_ALL has additional columns that are the first two columns in the result set.
Column Name |
Data Type |
Description |
|---|---|---|
GROUP_NAME |
TEXT |
Specifies which secondary replication or failover group corresponds to this row in the result set. Only applies to REPLICATION_GROUP_REFRESH_HISTORY_ALL. |
GROUP_TYPE |
TEXT |
Specifies whether the group corresponding to this row in the result set is a failover group or a replication group.
The value is either |
PHASE_NAME |
TEXT |
Current phase in the replication operation. For the list of phases, see the Usage Notes. |
START_TIME |
TIMESTAMP_LTZ |
Time when the replication operation began. |
END_TIME |
TIMESTAMP_LTZ |
Time when the replication operation finished, if applicable. |
JOB_UUID |
TEXT |
Query ID for the refresh job. |
TOTAL_BYTES |
VARIANT |
A JSON object that provides detailed information about refreshed databases:
|
OBJECT_COUNT |
VARIANT |
A JSON object that provides detailed information about refreshed objects:
|
PRIMARY_SNAPSHOT_TIMESTAMP |
TIMESTAMP_LTZ |
Timestamp when the primary snapshot was created. |
ERROR |
VARIANT |
NULL if the refresh operation is successful. If the refresh operation fails, returns a JSON object that provides detailed information about the error:
|
Usage notes¶
Only returns rows for a role with any privilege on the replication or failover group.
Only returns rows for a secondary replication or failover group in the current account.
When calling an Information Schema table function, the session must have an INFORMATION_SCHEMA schema in use or the function name must be fully-qualified. For more details, see Snowflake Information Schema.
The following is the list of phases in the order processed:
#
Phase name
Description
1
SECONDARY_SYNCHRONIZING_MEMBERSHIPThe secondary replication or failover group receives information from the primary group about the objects included in the group, and updates its membership metadata.
2
SECONDARY_UPLOADING_INVENTORYThe secondary replication or failover group sends an inventory of its objects in the target account to the primary group.
3
PRIMARY_UPLOADING_METADATAThe primary replication or failover group creates a snapshot of metadata in the source account and sends it to the secondary group.
4
PRIMARY_UPLOADING_DATAThe primary replication or failover group copies the files the secondary group needs to reconcile any deltas between the objects in the source and target accounts.
5
SECONDARY_DOWNLOADING_METADATAThe secondary replication or failover group applies the snapshot of the metadata that was sent by the primary. The metadata updates are not applied atomically and instead applied over time.
6
SECONDARY_DOWNLOADING_DATAThe secondary replication or failover group copies the files sent by the primary group to the target account.
7
COMPLETED/FAILED/CANCELEDRefresh operation status.
Examples¶
To retrieve the refresh history for secondary group myfg,
execute the following statement.
SELECT phase_name, start_time, end_time,
total_bytes, object_count, error
FROM TABLE(
INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_HISTORY('myfg')
);
To retrieve the current refresh history for all failover groups and replication groups, execute the following statement:
SELECT phase_name, start_time, end_time,
total_bytes, object_count, error
FROM TABLE(
INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_HISTORY_ALL()
);