SYSTEM$LIST_NAMESPACES_FROM_CATALOG

SYSTEM$LIST_NAMESPACES_FROM_CATALOG

원격 Apache Iceberg™ REST 카탈로그( Snowflake Open Catalog 포함)의 네임스페이스를 나열하는 시스템 함수예요. Iceberg 테이블을 다룰 때 씁니다.

출처: Snowflake SQL Reference

본문

SYSTEM$LIST_NAMESPACES_FROM_CATALOG( '<catalog_integration_name>'
  [ , '<parent_namespace>', <levels> ] )

필수 인자 — catalog_integration_name: Iceberg REST 또는 Snowflake Open Catalog용 카탈로그 통합의 식별자예요.

선택 인자

  • parent_namespace: 네임스페이스 나열을 시작할 네임스페이스의 식별자예요.
    • CATALOG_NAMESPACE가 카탈로그 통합 수준에서 정의되어 있다면, 카탈로그의 0번째 네임스페이스 결과를 얻으려면 빈 문자열('')을 지정해요.
    • CATALOG_NAMESPACE가 테이블 수준에서만 정의되어 있다면 기본적으로 0번째 네임스페이스 결과가 반환되므로 빈 문자열을 지정할 필요가 없어요.
  • levels: 하위 네임스페이스를 나열할 때 네임스페이스 계층에서 탐색할 단계 수예요.
    • 0이면 parent_namespace 기준으로 모든 네임스페이스를 재귀적으로 반환.
    • 1이면 parent_namespace 바로 한 단계 아래의 네임스페이스를 반환.
    • n이면 parent_namespace 기준으로 최대 n 단계 깊이까지 반환.
    • 기본값은 1이에요.

반환값 — 지정한 부모 네임스페이스와 단계 수에 대해 Iceberg REST 카탈로그의 네임스페이스 목록을 나열한 JSON 형식 문자열이에요.

[
  "<namespace_identifier>",
  "<namespace_identifier_n>"
]

접근 제어 요구사항 — 이 작업을 실행하는 역할은 최소한 다음 권한이 있어야 해요.

Privilege Object Notes
USAGE Integration (catalog)

예시 — 카탈로그 통합의 기본 네임스페이스 바로 아래 네임스페이스만 나열:

SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration');

카탈로그의 모든 네임스페이스를 재귀적으로 나열할 수도 있어요.

SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', '', 0);

db1 네임스페이스 바로 한 단계 아래만 나열:

SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', 'db1');

더 알아보기 (Learn more)