SnowConvert AI - PostgreSQL - CREATE TABLE¶
Translation from PostgreSQL to Snowflake
적용 대상¶
PostgreSQL
Greenplum
Netezza
설명¶
PostgreSQL에 새 테이블을 만듭니다. 각각 고유한 데이터 타입을 보유하는 열 목록을 정의합니다. 테이블의 소유자는 CREATE TABLE 명령의 발급자입니다.
자세한 내용은 CREATE TABLE 설명서를 참조하세요.
문법 구문¶
테이블 옵션¶
TEMPORARY | TEMP 또는 IF NOT EXISTS¶
Hint
이 구문은 Snowflake에서 완벽하게 지원됩니다.
GLOBAL | LOCAL¶
참고
이 구문은 Snowflake에서는 필요하지 않습니다.
PostgreSQL의 설명서에 따르면 GLOBAL | LOCAL은 SQL 표준 호환성을 위해 존재하지만 PostgreSQL에는 아무런 영향도 미치지 않으며 더 이상 사용되지 않습니다. 그러한 이유로, SnowConvert AI는 마이그레이션 프로세스 중에 이러한 키워드를 제거합니다.
샘플 소스¶
입력 코드:
PostgreSQL¶
출력 코드:
Snowflake¶
UNLOGGED TABLE¶
참고
이 구문은 Snowflake에서는 필요하지 않습니다.
UNLOGGED 테이블은 미리 쓰기 로그에 기록되지 않으므로 처리 속도가 크게 단축됩니다. Snowflake는 이 기능을 지원하지 않으므로 UNLOGGED 절은 주석 처리됩니다.
코드 예제¶
입력 코드:¶
Greenplum¶
출력 코드:¶
Snowflake¶
열 특성¶
CHECK 속성¶
Hint
This syntax is supported in Snowflake for deterministic, scalar expressions.
The CHECK clause specifies an expression producing a Boolean result that new or updated rows must satisfy for an insert or update operation to succeed. Snowflake supports CHECK constraints with deterministic, scalar expressions. Unsupported expressions (UDFs, non-deterministic functions) are flagged with SSC-EWI-0116.
Supported:
Basic CHECK constraints with scalar, deterministic expressions
Column-level and table-level CHECK constraints
Named and unnamed constraints
Unsupported (flagged with SSC-EWI-0116):
User-defined functions (UDFs)
Non-deterministic built-in functions
Context-dependent functions (e.g.,
CURRENT_TIMESTAMP,CURRENT_USER,NOW())Subqueries
문법 구문
샘플 소스¶
Example 1: Basic CHECK Constraint (Supported)¶
입력 코드:
PostgreSQL¶
출력 코드:
Snowflake¶
Example 2: Named Table-Level CHECK Constraint¶
입력 코드:
PostgreSQL¶
출력 코드:
Snowflake¶
GENERATED BY DEFAULT AS IDENTITY¶
Hint
이 구문은 Snowflake에서 완벽하게 지원됩니다.
열을 기본 IDENTITY 열로 지정하며, 열에 자동으로 고유한 값을 할당할 수 있습니다.
문법 구문
샘플 소스¶
입력 코드:
PostgreSQL¶
출력 코드:
Snowflake¶
테이블 제약 조건¶
기본 키, 외래 키, 고유 키¶
경고
이 구문은 Snowflake에서 부분적으로 지원됩니다.
SnowConvert AI는 제약 조건 정의를 유지합니다. 그러나 Snowflake에서는 고유 키, 기본 키 및 외래 키가 문서에 사용되며 제약 조건이나 고유성을 적용하지 않습니다. 테이블 관계를 설명하는 데 도움이 되지만 데이터 무결성이나 성능에 영향을 주지는 않습니다.
테이블 특성¶
LIKE 옵션¶
경고
이 구문은 Snowflake에서 부분적으로 지원됩니다.
LIKE 절은 새 테이블이 모든 열 이름, 해당 데이터 타입, null이 아닌 제약 조건을 자동으로 복사하는 테이블을 지정합니다. PostgreSQL은 여러 옵션을 지원하지만, Snowflake는 그렇지 않으므로 SnowConvert AI는 유사 옵션을 제거합니다.
문법 구문¶
샘플 소스 패턴¶
입력 코드:
PostgreSQL¶
출력 코드:
Snowflake¶
ON COMMIT¶
경고
이 구문은 부분적으로 지원됩니다.
커밋이 완료될 때 임시 테이블의 동작을 지정합니다.
문법 구문¶
샘플 소스 패턴¶
입력 코드:¶
PostgreSQL¶
출력 코드:¶
Snowflake¶
PARTITION BY, USING, TABLESPACE 및 WITH¶
참고
이 구문은 Snowflake에서는 필요하지 않습니다.
이러한 절은 수동으로 설정할 수 있는 PostgreSQL과 달리 데이터 저장소를 자동으로 처리하므로 Snowflake에서는 불필요합니다. 이러한 이유로 이러한 절은 마이그레이션 중에 제거됩니다.