SYSTEM$PIPE_STATUS

SYSTEM$PIPE_STATUS

파이프(pipe)의 현재 상태를 JSON 표현으로 조회하는 시스템 함수예요. Snowpipe 데이터 로딩 상태를 점검할 때 씁니다.

출처: Snowflake SQL Reference

본문

SYSTEM$PIPE_STATUS( '<pipe_name>' )

<pipe_name> — 현재 상태를 조회할 파이프예요.

사용 메모

  • 결과는 파이프 소유자(파이프에 OWNERSHIP 권한을 가진 역할) 또는 파이프에 MONITOR 권한을 가진 역할에게만 반환돼요.
  • pipe_name은 문자열이므로 작은따옴표로 감싸야 해요. 정규화된 이름이라면 데이터베이스·스키마를 포함해 전체 이름을 작은따옴표로 감싸야 해요: '<db>.<schema>.<pipe_name>'. 이름이 대소문자를 구분하거나 특수문자·공백을 포함하면 큰따옴표가 필요하고, 큰따옴표는 작은따옴표 안에 있어야 해요: '"<pipe_name>"'.
  • pendingFileCount가 0이면 oldestPendingFilePath와 oldestFileTimestamp 필드는 JSON 출력에 나타나지 않아요. 이 필드들은 인제스트 대기 중인 파일이 있을 때만 표시되거든요.

출력 — 함수는 파이프의 현재 상태에 해당하는 다음 이름/값 쌍을 담은 JSON 객체를 반환해요.

{"executionState":"<value>","oldestPendingFilePath":"<value>","oldestFileTimestamp":<value>,"pendingFileCount":<value>,"lastPipeErrorTimestamp":"<value>","lastPipeFaultTimestamp":"<value>","lastIngestedTimestamp":"<value>","lastIngestedFilePath":"<value>","notificationChannelName":"<value>","numOutstandingMessagesOnChannel":<value>,"lastReceivedMessageTimestamp":"<value>","lastForwardedMessageTimestamp":"<value>","error":<value>,"fault":<value>,"lastPulledFromChannelTimestamp":"<value>","lastForwardedFilePath":"<value>","loadHistoryRemainingEntriesToSync":"<value>", "oldestPendingHistoryRefreshJobCreationTime":"<value>", "pendingHistoryRefreshJobsCount":"<value>"}

executionState 값은 다음 중 하나예요.

  • FAILING_OVER — 파이프가 기본 계정에서 보조 계정으로 페일오버하는 중.
  • PAUSED — 일시 중지됨.
  • READ_ONLY — 파이프 또는 대상 테이블이 보조 읽기 전용 데이터베이스에 있음.
  • RUNNING — 정상. Snowflake가 이 파이프의 파일을 활발히 처리 중일 수도 있고 아닐 수도 있어요.
  • STOPPED_BY_SNOWFLAKE_ADMIN — Snowflake Support에 의해 중지됨. 새 파일을 받지 않아요.
  • STOPPED_CLONED — 데이터베이스나 스키마 클론에 포함됨.
  • STOPPED_FEATURE_DISABLED
  • STOPPED_STAGE_ALTERED — 기본 스테이지 위치가 변경되어 중지됨.
  • STOPPED_STAGE_DROPPED
  • STOPPED_FILE_FORMAT_DROPPED
  • STOPPED_NOTIFICATION_INTEGRATION_DROPPED

더 알아보기 (Learn more)