매개변수
매개변수 (Parameters)
이 문서는 Snowflake의 매개변수(parameter)에 대해 설명해요. 매개변수는 계정, 세션, 객체 수준에서 데이터베이스와 쿼리 동작을 제어하는 설정이에요. 매개변수의 수준(level), 설정 방법(ALTER 명령), 그리고 현재 값을 확인하는 방법을 다루어요.
본문
Snowflake는 계정, 세션, 객체 수준에서 다양한 동작을 제어하는 매개변수를 제공해요. 매개변수를 사용하면 쿼리 동작, 웨어하우스 동작, 데이터 로딩, 보안 등 광범위한 영역의 설정을 조정할 수 있어요.
매개변수 수준 (Parameter levels)
Snowflake 매개변수는 설정되는 수준에 따라 여러 종류가 있어요:
- 계정 수준(Account-level) 매개변수 — 계정의 모든 세션과 객체에 적용돼요.
ALTER ACCOUNT SET <param> = <value>명령으로 설정해요. - 객체 수준(Object-level) 매개변수 — 특정 객체(예: 태스크, 웨어하우스, 데이터베이스)에 적용돼요.
ALTER <object> SET <param> = <value>명령이나 객체를 만들 때 설정해요. - 세션 수준(Session-level) 매개변수 — 현재 세션에만 적용돼요.
ALTER SESSION SET <param> = <value>명령으로 설정해요.
매개변수 값은 세션 수준, 객체 수준, 계정 수준의 순으로 우선 적용돼요. 즉, 더 낮은(더 구체적인) 수준에서 설정된 값이 더 높은 수준의 설정값을 덮어써요.
매개변수 설정하기 (Setting parameters)
매개변수는 다음 명령으로 설정할 수 있어요:
ALTER ACCOUNT SET <param> = <value>— 계정 수준 매개변수(Role의 권한 필요)ALTER SESSION SET <param> = <value>— 세션 수준 매개변수ALTER <object> SET <param> = <value>— 객체 수준 매개변수 (예: ALTER WAREHOUSE, ALTER TASK)- 테이블, 스테이지 등 객체 생성 시 정의
예를 들어 세션 수준에서 쿼리 태그를 설정하려면:
ALTER SESSION SET QUERY_TAG = 'my_query_tag';
TRUE/FALSE 값을 가진 불리언 매개변수와, 문자열이나 숫자 값을 가지는 매개변수가 모두 있어요.
매개변수 값 확인하기 (Viewing parameter values)
현재 설정된 매개변수 값은 SHOW PARAMETERS 명령으로 확인할 수 있어요. 특정 매개변수만 보려면 LIKE 절을 사용할 수 있어요:
SHOW PARAMETERS LIKE 'QUERY_TAG';
예를 들어 웨어하우스 수준의 매개변수를 확인하려면:
SHOW PARAMETERS IN WAREHOUSE my_warehouse;
주요 매개변수 예시 (Examples of parameters)
Snowflake는 매우 많은 매개변수를 제공하며, 각 매개변수는 이름(name), 타입(type), 기본값(default), 설명(description)을 가져요. 주요 예시는 다음과 같아요:
- QUERY_TAG — 쿼리에 붙이는 태그로, 감사와 추적에 사용돼요.
- STATEMENT_TIMEOUT_IN_SECONDS — 문 실행의 최대 시간 제한(초).
- WAREHOUSE_SIZE — 웨어하우스의 크기(XS, S, M, L, XL 등).
- AUTO_SUSPEND / AUTO_RESUME — 웨어하우스 자동 일시중지 및 재개 여부.
- MAX_CONCURRENCY_LEVEL — 웨어하우스의 최대 동시성 수준.
- SEARCH_PATH — 정규화되지 않은 객체 참조를 해석하는 검색 경로.
- TIMEZONE — 세션의 시간대.
- DATE_OUTPUT_FORMAT, TIMESTAMP_OUTPUT_FORMAT — 날짜/타임스탬프 출력 형식.
전체 매개변수 목록과 각 매개변수의 상세한 타입·기본값·설명은 공식 문서의 매개변수 색인을 참고하세요. 각 매개변수는 계정/세션/객체 중 어느 수준에서 설정할 수 있는지에 대한 정보도 함께 제공돼요.