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