SYSTEM$LIST_NAMESPACES_FROM_CATALOG
SYSTEM$LIST_NAMESPACES_FROM_CATALOG
원격 Apache Iceberg™ REST 카탈로그( Snowflake Open Catalog 포함)의 네임스페이스를 나열하는 시스템 함수예요. Iceberg 테이블을 다룰 때 씁니다.
본문
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이에요.
- 0이면
반환값 — 지정한 부모 네임스페이스와 단계 수에 대해 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');