SnowConvert AI - Redshift 문제¶
SSC-EWI-RS0002¶
SET “구성 매개 변수”는 Snowflake에서 지원되지 않습니다.
심각도¶
Medium
설명¶
The SET configuration parameter clause in Redshift procedures is not supported in Snowflake. Snowflake uses ALTER SESSION SET or session-level parameters instead. For more information, refer to CREATE PROCEDURE documentation.
코드 예제¶
입력 코드:¶
Redshift¶
생성된 코드:¶
Snowflake¶
모범 사례¶
Use ALTER SESSION SET: Snowflake provides ALTER SESSION SET to configure session-level parameters. Review whether the Redshift configuration parameter has an equivalent Snowflake session parameter.
Remove if unnecessary: Some Redshift configuration parameters (e.g.,
enable_numeric_rounding) have no Snowflake equivalent and may be safely removed if Snowflake’s default behavior meets your requirements.추가 지원이 필요한 경우 snowconvert-support@snowflake.com으로 이메일을 보내주세요.
SSC-EWI-RS0003¶
스키마 바인딩이 없는 뷰는 참조 누락으로 인해 제거할 수 없습니다.
참고
This issue is deprecated and no longer generated by SnowConvert AI since version 2.2.6
심각도¶
Medium
설명¶
CREATE VIEW용 Redshift 설명서에는 특정 뷰가 테이블이나 함수와 같은 데이터베이스 오브젝트 또는 참조하는 오브젝트에 바인딩되지 않음을 명시하는 선택적 절이 포함되어 있습니다. 또한 이 설명서에는 이 절이 사용되는 경우 참조된 오브젝트를 스키마 이름으로 정규화해야 한다는 점이 명시되어 있습니다. 이 절을 사용하면 아직 존재하지 않을 수 있는 뷰 및 참조 오브젝트를 생성할 수 있습니다. 뷰가 쿼리되면 존재가 확인되지만, 정의될 때는 확인되지 않습니다.
그러나 Snowflake에는 이 기능을 구현하기 위한 동등한 명령이나 명확한 해결 방법은 없습니다. 더욱이 Snowflake 설명서에 따르면 뷰는 특정 스키마에 연결되어 있으며 뷰에서 참조되는 오브젝트도 마찬가지입니다.
뷰에 연결된 참조가 입력 코드에 있는 경우 해당 문은 문제 없이 제거됩니다. 그러나 필요한 참조가 누락된 경우, 누락된 참조로 인해 해당 문을 제거할 수 없다는 경고 메시지가 사용자에게 추가됩니다.
SnowConvert AI는 입력 코드에 대해서만 분석을 수행하며 Snowflake에 이미 배포된 오브젝트를 고려하지 않습니다. 따라서 출력에 누락된 참조를 지정하는 몇 가지 문제가 있을 수 있습니다. Snowflake 데이터베이스에 참조가 이미 있는 경우 사용자는 문제 없이 해당 문을 안전하게 제거할 수 있습니다.
코드 예제¶
입력 코드:¶
Redshift¶
생성된 코드:¶
Snowflake¶
모범 사례¶
이 문제를 해결하려면 누락된 참조를 입력 코드에 추가하는 것이 좋습니다. 오브젝트가 Snowflake 데이터베이스에 이미 배포된 경우 해당 문을 문제 없이 제거할 수 있습니다.
추가 지원이 필요한 경우 snowconvert-support@snowflake.com으로 이메일을 보내주세요.
SSC-EWI-RS0004¶
HLLSKETCH 데이터 타입은 Snowflake에서 지원되지 않습니다.
심각도¶
높음
설명¶
이 변환 문제는 HLLSKETCH 데이터 타입이 Snowflake에서 지원되지 않기 때문에 추가됩니다.
코드 예제¶
입력 코드:¶
생성된 코드:¶
모범 사례¶
Snowflake에서 제공하는 모든 집계 함수를 확인하여 HyperLogLog를 통해 카디널리티를 추정합니다.
추가 지원이 필요한 경우 snowconvert-support@snowflake.com으로 이메일을 보내주세요.
SSC-EWI-RS0005¶
Pending SnowConvert AI translation for column aliases in the PIVOT/UNPIVOT IN clause.
심각도¶
높음
설명¶
Pending SnowConvert AI translation for column aliases in the PIVOT/UNPIVOT IN clause. Snowflake now supports the AS clause for specifying column aliases in PIVOT and UNPIVOT operations (added October 2025). This is a SnowConvert AI limitation, not a Snowflake platform limitation.
코드 예제¶
입력 코드:¶
Redshift¶
생성된 코드:¶
Snowflake¶
모범 사례¶
Use native Snowflake support: Snowflake now supports the
ASclause for column aliases inPIVOT/UNPIVOT INclauses. Remove the EWI marker and use the aliases directly:
Further reading: Snowflake UNPIVOT, Snowflake PIVOT
추가 지원이 필요한 경우 snowconvert-support@snowflake.com으로 이메일을 보내주세요.
SSC-EWI-RS0006¶
The behavior of the SUBSTRING function on binary data differs between Redshift and Snowflake.
심각도¶
Medium
설명¶
The behavior of the SUBSTRING function on binary data differs between Redshift and Snowflake. In Redshift, SUBSTRING on VARBYTE operates on raw bytes. In Snowflake, SUBSTRING on BINARY operates on hex-encoded character pairs, so the same positional arguments may return different results.
코드 예제¶
입력 코드:¶
Redshift¶
생성된 코드:¶
Snowflake¶
모범 사례¶
Verify binary output: Compare
SUBSTRINGresults on binary columns between Redshift and Snowflake to confirm correctness after migration.Adjust offsets: Because Snowflake’s
BINARYtype uses hex encoding, you may need to multiply position and length arguments by 2 to achieve equivalent byte-level extraction.추가 지원이 필요한 경우 snowconvert-support@snowflake.com으로 이메일을 보내주세요.
SSC-EWI-RS0007¶
Snowflake에서는 날짜 리터럴이 지원되지 않습니다.
심각도¶
높음
설명¶
Some DATE, TIME, or TIMESTAMP literal formats used in Redshift (e.g., '2000-Jan-31', 'Jan-31-2000') are not recognized by Snowflake. These literals must be rewritten to a supported Snowflake date format or converted using TO_DATE with an explicit format string.
코드 예제¶
입력 코드:¶
Redshift¶
생성된 코드:¶
Snowflake¶
모범 사례¶
Use ISO 8601 format: Rewrite date literals to
'YYYY-MM-DD'format, which is universally supported in Snowflake.Use TO_DATE with format string: If the original format must be preserved, use
TO_DATE('Jan-31-2000', 'MON-DD-YYYY')to explicitly parse the date.추가 지원이 필요한 경우 snowconvert-support@snowflake.com으로 이메일을 보내주세요.
SSC-EWI-RS0008¶
Delete statement cannot be used on dynamic tables in Snowflake.
심각도¶
높음
설명¶
In Redshift, you can apply the DELETE statement to materialized views used for streaming ingestion. In Snowflake, materialized views are transformed into dynamic tables, and the DELETE statement cannot be used on dynamic tables.
코드 예제¶
입력 코드:¶
Redshift¶
생성된 코드:¶
Snowflake¶
모범 사례¶
Replace the dynamic table definition: Because dynamic tables cannot be directly deleted from, you can achieve the same result by altering the dynamic table’s underlying query to exclude the rows you want to remove.
Use a regular table: If row-level DML (INSERT, UPDATE, DELETE) is required, consider using a regular table with a scheduled task instead of a dynamic table.
추가 지원이 필요한 경우 snowconvert-support@snowflake.com으로 이메일을 보내주세요.
SSC-EWI-RS0009¶
Source table semantic information not found in the code provided to SnowConvert AI.
심각도¶
낮음
설명¶
Snowflake does not support the MERGE ... REMOVE DUPLICATES clause. SnowConvert AI generates a workaround that includes an INSERT WHEN NOT MATCHED clause, which requires knowledge of the source table’s columns. If the source table definition was not included in the code provided to SnowConvert AI, the column list cannot be generated and must be added manually.
코드 예제¶
입력 코드:¶
Redshift¶
생성된 코드:¶
Snowflake¶
모범 사례¶
Include all source DDL: Provide the source table’s
CREATE TABLEstatement in the input code so SnowConvert AI can resolve columns automatically.Add columns manually: If the source table definition is unavailable, fill in the
INSERT ... VALUES ()clause with the correct column list from your Redshift catalog.추가 지원이 필요한 경우 snowconvert-support@snowflake.com으로 이메일을 보내주세요.
SSC-EWI-RS0010¶
Top-level procedure call with out parameters is not supported in Snowflake.
심각도¶
낮음
설명¶
Redshift allows top-level CALL statements to invoke procedures with OUT parameters without declaring a variable to receive the output. Snowflake requires that OUT parameters be assigned to a variable, which is only possible inside a stored procedure or anonymous block.
코드 예제¶
입력 코드:¶
Redshift¶
생성된 코드:¶
Snowflake¶
모범 사례¶
호출을 익명 블록으로 이동하고 출력 매개 변수로 전달할 변수를 선언합니다.
추가 지원이 필요한 경우 snowconvert-support@snowflake.com으로 이메일을 보내주세요.