Skip to main content
이 설정은 system.settings에서 사용할 수 있으며 소스로부터 자동으로 생성됩니다.

allow_aggregate_partitions_independently

파티션 키가 GROUP BY 키에 적합할 때 각 파티션을 별도 스레드에서 독립적으로 집계하도록 활성화합니다. 파티션 수가 코어 수에 가깝고 파티션 크기가 대체로 비슷할 때 유리합니다. ReadFromMergeTree의 휴리스틱은 레이아웃이 바람직하지 않은 경우(파티션이 너무 적거나, 너무 많거나, 파티션 크기 편차가 큰 경우) 이 최적화를 자동으로 비활성화합니다. 이러한 검사를 우회하려면 force_aggregate_partitions_independently를 참조하십시오.

allow_archive_path_syntax

File/S3 엔진/테이블 함수는 아카이브에 올바른 확장자가 있으면 ’::‘가 포함된 경로를 <archive> :: <file>로 해석합니다.

allow_asynchronous_read_from_io_pool_for_merge_tree

백그라운드 I/O 풀을 사용해 MergeTree 테이블에서 읽습니다. 이 설정을 사용하면 I/O 병목이 있는 쿼리의 성능이 향상될 수 있습니다.

allow_calculating_subcolumns_sizes_for_merge_tree_reading

활성화하면 ClickHouse는 작업 및 블록 크기를 더 적절하게 계산할 수 있도록 각 서브컬럼을 읽는 데 필요한 파일 크기를 계산합니다.

allow_changing_replica_until_first_data_packet

활성화하면 hedged request에서 이미 일부 Progress가 있었더라도 첫 번째 데이터 패킷을 받을 때까지 새 연결을 시작할 수 있습니다 (단, receive_data_timeout timeout 동안 Progress가 갱신되지 않은 경우). 그렇지 않으면 처음 Progress가 발생한 이후에는 레플리카 변경을 비활성화합니다.

allow_create_index_without_type

TYPE 없이 CREATE INDEX 쿼리를 허용합니다. 이 쿼리는 무시됩니다. SQL compatibility 테스트용으로 만들어졌습니다.

allow_custom_error_code_in_throwif

함수 throwIf()에서 사용자 지정 오류 코드를 사용할 수 있도록 합니다. true이면 발생하는 예외에 예상치 못한 오류 코드가 사용될 수 있습니다.

allow_ddl

true로 설정하면 사용자가 DDL 쿼리를 실행할 수 있습니다.

allow_delta_kernel_rs

별칭: allow_experimental_delta_kernel_rs Delta Lake 테이블을 읽기 위한 delta-kernel-rs 구현을 허용합니다.

allow_distinct_partitions_independently

파티션 표현식이 DISTINCT 컬럼의 결정론적 함수인 경우, 스트림 간 머지를 생략하고 별도 스레드에서 파티션별 DISTINCT를 독립적으로 평가하도록 합니다. 파티션 수가 코어 수와 비슷하고 파티션 크기가 대략 동일할 때 유용합니다. 그렇지 않은 경우 비용 휴리스틱에 따라 이 최적화가 적용되지 않습니다. max_number_of_partitions_for_independent_distinctforce_distinct_partitions_independently를 참조하십시오. FINAL 또는 병렬 레플리카와 함께 사용할 때는 적용되지 않습니다. max_rows_in_distinct 또는 max_bytes_in_distinct가 설정된 경우에도 적용되지 않습니다. 이러한 제한은 전체 머지 결과를 확인하는 단일 DISTINCT 변환에서 적용되므로, 제한의 전역적 의미를 유지하기 위해 스트림 간 머지를 유지합니다.

allow_distributed_ddl

true로 설정하면 사용자가 분산 DDL 쿼리를 실행할 수 있도록 허용됩니다.

allow_drop_detached

ALTER TABLE … DROP DETACHED PART[ITION] … 쿼리 실행을 허용합니다

allow_dynamic_type_in_join_keys

JOIN 키에서 Dynamic 타입을 사용할 수 있습니다. 호환성을 위해 추가되었습니다. 다른 타입과 비교할 때 예기치 않은 결과가 발생할 수 있으므로 JOIN 키에서 Dynamic 타입을 사용하는 것은 권장되지 않습니다.

allow_execute_multiif_columnar

multiIf 함수를 열 지향으로 실행할 수 있도록 허용합니다

allow_fuzz_query_functions

쿼리 문자열에 무작위 AST 뮤테이션을 적용하는 fuzzQuery 함수를 활성화합니다.

allow_general_join_planning

더 복잡한 조건을 처리할 수 있는 더 범용적인 조인 계획 알고리즘을 사용할 수 있도록 허용하지만, 해시 조인에서만 동작합니다. 해시 조인이 활성화되지 않은 경우에는 이 설정값과 관계없이 기본 조인 계획 알고리즘이 사용됩니다.

allow_get_client_http_header

현재 HTTP request의 header 값을 가져오는 getClientHTTPHeader 함수를 사용할 수 있도록 허용합니다. Cookie와 같은 일부 header에는 민감한 정보가 포함될 수 있으므로, 보안상의 이유로 기본적으로는 활성화되어 있지 않습니다. X-ClickHouse-*, Authentication, Authorization headers는 항상 제한되므로 이 함수로 가져올 수 없습니다.

allow_hyperscan

Hyperscan library를 사용하는 함수를 허용합니다. 컴파일 시간이 지나치게 길어지거나 리소스를 과도하게 사용하는 것을 방지하려면 비활성화하십시오.

allow_iceberg_remove_orphan_files

Iceberg 테이블에서 ‘ALTER TABLE … EXECUTE remove_orphan_files()‘를 사용할 수 있도록 허용합니다.

allow_insert_into_iceberg

별칭: allow_experimental_insert_into_iceberg Iceberg에 insert 쿼리를 실행할 수 있도록 허용합니다.

allow_introspection_functions

쿼리 프로파일링에 사용할 인트로스펙션 함수를 활성화하거나 비활성화합니다. 가능한 값:
  • 1 — 인트로스펙션 함수가 활성화됩니다.
  • 0 — 인트로스펙션 함수가 비활성화됩니다.
관련 항목

allow_key_condition_coalesce_rewrite

coalesce(a_1, ..., a_N) <op> const 형태의 프레디케이트(및 이에 해당하는 ifNull, 또는 상수가 왼쪽에 있는 동일한 형태)를 인덱스 분석 전에 (a_1 <op> const) OR (a_1 IS NULL AND a_2 <op> const) OR ... OR (a_1 IS NULL AND ... AND a_{N-1} IS NULL AND a_N <op> const) 논리합으로 재작성하여 각 a_i의 컬럼별 프라이머리 키와 스킵 인덱스를 사용할 수 있도록 합니다. coalesce(a, 42, b)coalesce(a, b, 42)와 같은 일부 상수 형태도 처리합니다. 인수 목록은 coalesce 자체와 마찬가지로 정규화됩니다(NULL 리터럴은 제거되고, 첫 번째 비Nullable 인수 뒤의 인수는 제거됩니다). 후행 비NULL 상수가 있으면 최종 분기로 생성됩니다. 이 재작성은 인덱스 프루닝에만 추가로 적용되며, 런타임 필터링은 계속 원래 프레디케이트를 사용합니다. 또한 nullIf(key, sentinel) = const 형태의 정확한 동등 프레디케이트(sentinel != const이고 타입이 정확히 일치하는 경우)는 key = const로 재작성되어 key의 프라이머리 키, 파티션 및 스킵 인덱스가 그래뉼을 직접 프루닝할 수 있습니다. 범위 조건 및 논리합 형태의 nullIf 프루닝은 지원되지 않습니다.

allow_limit_by_partitions_independently

파티션 표현식이 LIMIT BY 컬럼의 결정론적 함수인 경우, 별도 스레드에서 파티션별로 LIMIT BY를 독립적으로 평가할 수 있게 합니다.

allow_lossy_numeric_supertype

활성화하면 손실 없는 공통 유형이 없는 숫자 인수 집합(예: DecimalFloat64, 또는 Int64Float64)에 대해 if/multiIf/coalesce/ifNull/array/map가 실패하는 대신 정밀도 손실 가능성이 있는 숫자 슈퍼타입(Float64)으로 해석됩니다. 따라서 결과를 sum, avg, min, max와 같은 값을 결합하는 집계 함수에 직접 사용할 수 있습니다. 이는 use_variant_as_common_type와 독립적으로 작동합니다. use_variant_as_common_type의 활성화 여부와 관계없이 숫자 슈퍼타입이 생성됩니다. 비활성화된 경우(기본값) 이러한 인수 집합에는 공통 유형이 없으므로 use_variant_as_common_type가 활성화되어 있으면 Variant가 되고, 그렇지 않으면 NO_COMMON_TYPE가 발생합니다.

allow_materialized_view_with_bad_select

존재하지 않는 테이블이나 컬럼을 참조하는 SELECT 쿼리가 있는 CREATE MATERIALIZED VIEW를 허용합니다. 다만 구문적으로는 여전히 유효해야 합니다. 갱신 가능한 MV에는 적용되지 않습니다. 또한 SELECT 쿼리에서 MV 스키마를 추론해야 하는 경우에는 적용되지 않습니다(즉, CREATE에 컬럼 목록이 없고 TO 테이블도 없는 경우). 원본 테이블보다 먼저 MV를 생성할 때 사용할 수 있습니다.

allow_metadata_only_named_tuple_alter

true로 설정하면 새 하위 필드만 추가하는 named Tuple에 대한 ALTER MODIFY COLUMN이 메타데이터 전용으로 처리됩니다(데이터 뮤테이션 없음). 기존의 전체 뮤테이션 동작을 강제하려면 false로 설정하십시오.

allow_minmax_index_for_json

JSON (Object) 컬럼에 minmax 스킵 인덱스를 생성할 수 있도록 허용합니다. JSON 컬럼에는 이기종 Field 값이 포함될 수 있는데, minmax 인덱스 직렬화 경로가 이를 처리할 수 없기 때문에 기본적으로 비활성화되어 있습니다.

allow_named_collection_override_by_default

기본적으로 이름이 지정된 컬렉션의 필드를 재정의할 수 있도록 허용합니다.

allow_non_metadata_alters

테이블 메타데이터뿐만 아니라 디스크의 데이터에도 영향을 미치는 alter의 실행을 허용합니다

allow_nonconst_timezone_arguments

toTimeZone(), fromUnixTimestamp*(), snowflakeIDToDateTime*()와 같은 특정 시간 관련 함수에서 상수가 아닌 시간대 인수를 허용합니다. 이 설정은 호환성 유지를 위해서만 존재합니다. ClickHouse에서 시간대는 데이터 타입(data type), 정확히는 컬럼의 속성입니다. 이 설정을 활성화하면 하나의 컬럼 안에서 서로 다른 값이 서로 다른 시간대를 가질 수 있다는 잘못된 인상을 줄 수 있습니다. 따라서 이 설정은 활성화하지 마십시오.

allow_nullable_tuple_in_extracted_subcolumns

Tuple(...) 타입의 추출된 서브컬럼을 Nullable(Tuple(...))로 지정할 수 있는지 제어합니다.
  • false: Tuple(...)를 반환하고, 서브컬럼이 없는 행에는 기본 Tuple 값을 사용합니다.
  • true: Nullable(Tuple(...))를 반환하고, 서브컬럼이 없는 행에는 NULL을 사용합니다.
이 설정은 추출된 서브컬럼의 동작만 제어합니다. 테이블에서 Nullable(Tuple(...)) 컬럼을 생성할 수 있는지는 제어하지 않으며, 이는 enable_nullable_tuple_type에서 제어됩니다. ClickHouse는 서버 시작 시 로드된 이 설정 값을 사용합니다. SET 또는 쿼리 수준 SETTINGS로 변경해도 추출된 서브컬럼의 동작은 바뀌지 않습니다. 추출된 서브컬럼의 동작을 변경하려면 시작 프로필 구성(예: users.xml)에서 allow_nullable_tuple_in_extracted_subcolumns 값을 수정한 뒤 서버를 재시작하십시오.

allow_rank_dense_rank_arguments

이전 버전과의 호환성을 위해 RANKDENSE_RANK 윈도우 함수에 인수를 전달할 수 있도록 합니다. SQL 표준에 따르면 RANKDENSE_RANK는 인수를 받지 않으며, 순위는 OVER (ORDER BY ...) 윈도우만을 기준으로 매겨집니다. ClickHouse 26.5 이전 버전에서는 RANK(x) OVER (...)와 같은 쿼리에서 인수를 전달해도 조용히 받아들인 뒤 무시했기 때문에 사용자 혼란이 발생했습니다 (겉으로 보이는 인수는 순위 계산에 영향을 주는 것처럼 보이지만 실제로는 그렇지 않았습니다). 이 설정이 false이면(기본값) RANKDENSE_RANK는 모든 인수를 거부하고 NUMBER_OF_ARGUMENTS_DOESNT_MATCH를 발생시킵니다. true로 설정하면 기존의 느슨한 동작이 복원되며, 인수는 조용히 무시되어 26.5 이전 동작과 동일하게 처리됩니다.

allow_reorder_prewhere_conditions

WHERE에서 PREWHERE로 조건을 이동할 때 필터링을 최적화할 수 있도록 조건 순서 재정렬을 허용합니다

allow_replace_partition_from_empty_source

원본의 해당 파티션에 파트가 없을 때 ALTER TABLE ... REPLACE PARTITION ... FROM ...이 대상 파티션을 조용히 삭제하도록 허용합니다. 기본적으로는 허용되지 않습니다. 요청한 파티션에 데이터가 없는 원본에서 REPLACE PARTITION을 수행하면 예외가 발생합니다. 이 경우 이 작업은 사실상 대상에 대해 조용히 DROP PARTITION을 수행하는 것과 같기 때문입니다(대상의 데이터는 삭제되고 이를 대체할 데이터는 없음). 이는 실수로 인한 데이터 손실의 흔한 원인입니다(#23727 참조). 예를 들어 비어 있는 원본 파티션을 의도적으로 사용해 대상의 데이터를 비우려는 경우, 이전 동작을 복원하려면 이 설정을 활성화하십시오. 무조건 삭제하려면 대신 ALTER TABLE ... DROP PARTITION ...을 사용하는 것이 좋습니다.

allow_settings_after_format_in_insert

INSERT 쿼리에서 FORMAT 뒤에 SETTINGS를 허용할지 여부를 제어합니다. SETTINGS의 일부가 값으로 해석될 수 있으므로 사용은 권장되지 않습니다. 예시:
하지만 다음 쿼리는 allow_settings_after_format_in_insert를 활성화한 경우에만 작동합니다:
가능한 값:
  • 0 — 허용하지 않습니다.
  • 1 — 허용합니다.
사용 사례가 이전 구문에 의존하는 경우에만 이전 버전과의 호환성을 위해 이 설정을 사용하십시오.

allow_simdjson

AVX2 명령어를 사용할 수 있으면 ‘JSON*’ 함수에서 simdjson 라이브러리를 사용할 수 있도록 허용합니다. 비활성화하면 rapidjson이 사용됩니다.

allow_special_serialization_kinds_in_output_formats

Sparse 및 Replicated와 같은 특수 serialization kind를 사용하는 컬럼을 full column 표현으로 변환하지 않고 출력할 수 있습니다. 포맷팅 중 불필요한 데이터 복사를 줄이는 데 도움이 됩니다.

allow_unrestricted_reads_from_keeper

system.zookeeper 테이블에서 제한 없이(경로 조건 없이) 읽을 수 있도록 허용합니다. 편리할 수는 있지만 ZooKeeper에는 안전하지 않습니다.
마지막 수정일 2026년 8월 18일