매개변수

매개변수 (Parameters)

이 문서는 Snowflake의 매개변수(parameter)에 대해 설명해요. 매개변수는 계정, 세션, 객체 수준에서 데이터베이스와 쿼리 동작을 제어하는 설정이에요. 매개변수의 수준(level), 설정 방법(ALTER 명령), 그리고 현재 값을 확인하는 방법을 다루어요.

출처: Snowflake SQL Reference

본문

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 — 날짜/타임스탬프 출력 형식.

전체 매개변수 목록과 각 매개변수의 상세한 타입·기본값·설명은 공식 문서의 매개변수 색인을 참고하세요. 각 매개변수는 계정/세션/객체 중 어느 수준에서 설정할 수 있는지에 대한 정보도 함께 제공돼요.

더 알아보기 (Learn more)