DATABASE_REFRESH_PROGRESS, DATABASE_REFRESH_PROGRESS_BY_JOB
DATABASE_REFRESH_PROGRESS, DATABASE_REFRESH_PROGRESS_BY_JOB
여러 차원을 따라 데이터베이스 새로고침의 상태를 조회하는 데 사용할 수 있는 Information Schema 테이블 함수예요. DATABASE_REFRESH_PROGRESS는 보조 데이터베이스의 이름으로, DATABASE_REFRESH_PROGRESS_BY_JOB은 새로고침 쿼리로 현재 새로고침 상태를 반환해요.
출처: 공식 문서
본문
DATABASE_REFRESH_PROGRESS 함수 계열은 여러 차원을 따라 데이터베이스 새로고침의 상태를 조회하는 데 사용할 수 있습니다:
-
DATABASE_REFRESH_PROGRESS는 이름으로 보조 데이터베이스(secondary database)의 현재 새로고침 상태를 나타내는 JSON 객체를 반환합니다.
-
DATABASE_REFRESH_PROGRESS_BY_JOB은 새로고침 쿼리로 보조 데이터베이스의 현재 새로고침 상태를 나타내는 JSON 객체를 반환합니다.
각 함수는 지정된 차원을 따라 조회하도록 최적화되어 있습니다.
참고 (Note):
-
DATABASE_REFRESH_PROGRESS는 가장 최근의 데이터베이스 새로고침이 지난 14일 이내에 발생한 경우에만 해당 새로고침 활동을 반환합니다.
-
DATABASE_REFRESH_PROGRESS_BY_JOB은 지난 14일 이내의 데이터베이스 새로고침 활동을 반환합니다.
참고 (See also): DATABASE_REFRESH_HISTORY
구문 (Syntax)
DATABASE_REFRESH_PROGRESS( '<secondary_db_name>' )
DATABASE_REFRESH_PROGRESS_BY_JOB( '<query_id>' )
인자 (Arguments)
보조 데이터베이스의 이름입니다. 보조 데이터베이스가 현재 세션의 활성 데이터베이스이면 이 인자는 선택 사항입니다.
전체 이름은 작은따옴표로 묶어야 합니다.
데이터베이스 새로고침 쿼리의 ID입니다. 쿼리 ID는 웹 인터페이스의 History 페이지에서 얻을 수 있습니다.
사용 참고 사항 (Usage notes)
-
계정 관리자(ACCOUNTADMIN 역할의 사용자)에게만 결과를 반환합니다.
-
Information Schema 테이블 함수를 호출할 때 세션에 INFORMATION_SCHEMA 스키마가 사용 중이어야 하거나 함수 이름이 완전히 한정되어야 합니다. 자세한 내용은 Snowflake Information Schema를 참고하세요.
-
다음은 처리 순서대로 정렬된 단계 목록입니다:
-
SECONDARY_UPLOADING_INVENTORY
-
PRIMARY_UPLOADING_METADATA
-
PRIMARY_UPLOADING_DATA
-
SECONDARY_DOWNLOADING_METADATA
-
SECONDARY_DOWNLOADING_DATA
-
COMPLETED / FAILED / CANCELED
출력 (Output)
이 함수는 다음 열들을 반환합니다:
| Column Name | Data Type | Description |
|---|---|---|
| PHASE_NAME | TEXT | 지금까지 완료(또는 진행 중)된 복제 단계의 이름. 단계 목록은 사용 참고 사항을 참고하세요. |
| RESULT | TEXT | 복제 단계의 상태. 유효한 상태는 EXECUTING, SUCCEEDED, CANCELLED, FAILED입니다. |
| START_TIME | NUMBER | 복제 단계가 시작된 시간. 형식은 epoch 시간입니다. |
| END_TIME | NUMBER | 해당하는 경우 단계가 끝난 시간. 형식은 epoch 시간입니다. |
| DETAILS | VARIANT | DATABASE_REFRESH_PROGRESS 함수에서만 반환됩니다. 다음 단계에 대한 자세한 정보를 제공하는 JSON 객체: - Primary uploading data: 보조 데이터베이스의 현재 스냅샷 타임스탬프. - Primary uploading data 및 Secondary downloading data: 데이터베이스 새로고침의 총 바이트 수와 해당 단계에서 지금까지 복사된 바이트 수. - Secondary downloading metadata: 보조 데이터베이스의 최신 스냅샷에 있는 테이블, 테이블 열, 모든 데이터베이스 객체(테이블과 테이블 열 포함)의 수. |
예제 (Examples)
mydb1 데이터베이스의 데이터베이스 새로고침 현재 진행 상황을 검색합니다:
select *
from table(information_schema.database_refresh_progress(mydb1));
쿼리 ID로 데이터베이스 새로고침의 현재 진행 상황을 검색합니다:
select *
from table(information_schema.database_refresh_progress_by_job('012a3b45-1234-a12b-0000-1aa200012345'));