SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG
SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG (Iceberg 카탈로그 테이블 목록)
원격 Apache Iceberg™ REST 카탈로그(Snowflake Open Catalog 포함)의 테이블을 나열해요.
출처: Snowflake SQL Reference - SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG
본문
구문
SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG( '<catalog_integration_name>'
[ , '<parent_namespace>', <levels> ] )
인자
필수:
catalog_integration_name
Iceberg REST 또는 Snowflake Open Catalog용 카탈로그 통합의 식별자예요.
선택:
parent_namespace
테이블 나열을 시작할 네임스페이스의 식별자예요. 카탈로그의 0번째 네임스페이스 레벨에 대한 결과를 가져오려면 빈 문자열('')을 지정해요. 기본값: 지정된 경우 카탈로그 통합의 기본 네임스페이스(CATALOG_NAMESPACE). 카탈로그 통합 레벨에서 기본 네임스페이스를 지정하지 않으면 기본값은 카탈로그의 0번째 네임스페이스 레벨이에요. 기본값이 0번째 네임스페이스일 때 테이블을 나열하려면 빈 문자열('')과 <levels> 매개변수를 지정해야 해요.
levels
테이블 나열을 위한 네임스페이스 계층에서 탐색할 레벨 수를 지정해요. 예:
- 0으로 설정하면 함수는
parent_namespace를 기준으로 모든 테이블을 재귀적으로 반환해요. - 1로 설정하면 함수는
parent_namespace안의 모든 테이블을 반환해요. - n으로 설정하면 함수는
parent_namespace를 기준으로 최대 n 레벨 깊이의 테이블을 반환해요.
기본값: 1.
반환 값
지정한 네임스페이스와 레벨 수에 대해 Iceberg REST 카탈로그의 테이블을 나열하는 JSON 형식 문자열을 반환해요.
JSON 형식 문자열은 다음 구조를 가져요:
[
{
"namespace": "<namespace_identifier>",
"name": "<table_name>"
},
{
"namespace": "<namespace_identifier>",
"name": "<table_name_n>"
},
]
액세스 제어 요구 사항
이 작업을 실행하는 역할은 최소한 다음 권한이 있어야 해요:
| 권한 | 객체 | 참고 |
|---|---|---|
| USAGE | 통합(카탈로그) |
지정한 권한 집합을 가진 사용자 지정 역할을 만드는 방법은 사용자 지정 역할 만들기를 참고해요.
보안 객체에 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어 개요를 참고해요.
예시
기본 카탈로그 네임스페이스의 테이블만 나열해요:
SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration');
카탈로그의 모든 테이블을 나열해요:
SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration', '', 0);
db1 네임스페이스 아래의 모든 테이블을 재귀적으로 나열해요:
SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration', 'db1', 0);
db1 네임스페이스 아래 3개 레벨의 모든 테이블을 나열해요:
SELECT SYSTEM$LIST_ICEBERG_TABLES_FROM_CATALOG('myCatalogIntegration', 'db1', 3);