CREATE CATALOG INTEGRATION
CREATE CATALOG INTEGRATION (Snowflake Postgres)
Snowflake Postgres 인스턴스가 관리하는 Apache Iceberg™ 테이블에 접근하기 위해 계정에 새 카탈로그 통합을 만들거나 기존 카탈로그 통합을 교체하는 명령이에요.
출처: 문서
본문
관련 명령: ALTER CATALOG INTEGRATION, DROP CATALOG INTEGRATION, SHOW CATALOG INTEGRATIONS, DESCRIBE CATALOG INTEGRATION
구문 (Syntax)
CREATE [ OR REPLACE ] CATALOG INTEGRATION [ IF NOT EXISTS ] <name>
CATALOG_SOURCE = SNOWFLAKE_POSTGRES
TABLE_FORMAT = ICEBERG
[ CATALOG_NAMESPACE = '<namespace>' ]
REST_CONFIG = (
restConfigParams
)
ENABLED = { TRUE | FALSE }
[ COMMENT = '<string_literal>' ]
여기에서:
restConfigParams ::=
POSTGRES_INSTANCE = '<instance_name>'
ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS
[ CATALOG_NAME = '<database_name>' ]
파라미터 (Parameters)
*name*
카탈로그 통합의 식별자(이름)를 지정하는 문자열이에요. 계정 내에서 고유해야 해요.
식별자는 영문자로 시작해야 하고, 전체 식별자 문자열을 큰따옴표로 감싸지 않는 한 공백이나 특수 문자를 포함할 수 없어요(예: "My object"). 큰따옴표로 감싼 식별자는 대소문자를 구분해요.
자세한 내용은 Identifier requirements를 참고하세요.
CATALOG_SOURCE = SNOWFLAKE_POSTGRES
카탈로그 소스가 Snowflake Postgres 인스턴스임을 지정해요.
TABLE_FORMAT = ICEBERG
카탈로그가 제공하는 테이블 형식으로 ICEBERG를 지정해요.
CATALOG_NAMESPACE = '*namespace*'
이 카탈로그 통합을 통해 검색되는 테이블의 기본 스키마 네임스페이스를 선택적으로 지정해요. 예: 'public'.
ENABLED = { TRUE | FALSE }
카탈로그 통합을 Iceberg 테이블에 사용할 수 있는지 여부를 지정해요.
-
TRUE는 사용자가 이 통합을 참조하는 새 Iceberg 테이블을 만들 수 있게 해요. -
FALSE는 사용자가 이 통합을 참조하는 새 Iceberg 테이블을 만들지 못하게 해요.
값은 대소문자를 구분하지 않아요.
기본값은 TRUE예요.
COMMENT = '*string_literal*'
통합에 대한 주석을 지정하는 문자열(리터럴)이에요.
기본값: 값 없음
REST 구성 파라미터 (restConfigParams)
POSTGRES_INSTANCE = '*instance_name*'
Snowflake Postgres 인스턴스의 이름을 지정해요. 필수예요. Postgres 인스턴스는 READY 상태여야 해요. Postgres 인스턴스를 만들려면 CREATE POSTGRES INSTANCE를 참고하세요.
ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS
클라우드 스토리지의 테이블 데이터와 메타데이터에 접근하는 데 사용할 접근 위임 모드를 지정해요. 지원되는 유일한 값은 VENDED_CREDENTIALS예요.
CATALOG_NAME = '*database_name*'
기본 Postgres 데이터베이스 이름을 선택적으로 지정해요. 이 값은 테이블별 또는 카탈로그 연결 데이터베이스별로 재정의할 수 있어요.
접근 제어 요구사항 (Access control requirements)
이 작업을 실행하는 역할은 최소한 다음 권한을 가져야 해요:
| Privilege | Object | Notes |
|---|---|---|
| CREATE INTEGRATION | Account | 기본적으로 ACCOUNTADMIN 역할만 이 권한을 가져요. 필요에 따라 다른 역할에도 부여할 수 있어요. |
| USAGE | Postgres instance | POSTGRES_INSTANCE가 지정한 Postgres 인스턴스에 필요해요. |
예제 (Examples)
Snowflake Postgres 인스턴스용 카탈로그 통합을 만드는 예제예요:
CREATE CATALOG INTEGRATION my_postgres_catalog_int
CATALOG_SOURCE = SNOWFLAKE_POSTGRES
TABLE_FORMAT = ICEBERG
CATALOG_NAMESPACE = 'public'
REST_CONFIG = (
POSTGRES_INSTANCE = 'my_pg_instance'
ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS
CATALOG_NAME = 'my_database'
)
ENABLED = TRUE;
더 알아보기 (Learn more)
ALTER CATALOG INTEGRATION, DROP CATALOG INTEGRATION, SHOW CATALOG INTEGRATIONS, DESCRIBE CATALOG INTEGRATION