- 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_MEMBERSHIP
The 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_INVENTORY
The secondary replication or failover group sends an inventory of its objects in the target account to the primary group.
3
PRIMARY_UPLOADING_METADATA
The primary replication or failover group creates a snapshot of metadata in the source account and sends it to the secondary group.
4
PRIMARY_UPLOADING_DATA
The 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_METADATA
The 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_DATA
The secondary replication or failover group copies the files sent by the primary group to the target account.
7
COMPLETED
/FAILED
/CANCELED
Refresh 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()
);