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_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 또는 ifNull이 포함된 WHERE/PREWHERE 프레디케이트에서 MergeTree 프라이머리 키(primary key)와 스킵 인덱스가 그래뉼을 프루닝할 수 있도록 합니다. 이 설정이 없으면 이러한 프레디케이트는 인덱스 분석에서 해석되지 않아 프루닝이 수행되지 않으므로, 일치할 수 없는 그래뉼도 읽게 됩니다. 이 설정은 어떤 그래뉼을 읽을지에만 영향을 주며, 행은 여전히 원래 프레디케이트로 필터링되므로 쿼리 결과는 변경되지 않습니다. 인덱스 분석 전에 다음 2가지 프레디케이트 형태를 재작성합니다:
  • coalesce(a, b) = 5와 같이 coalesce/ifNull에 비교를 적용한 형태는 각 인수의 인덱스로 프루닝할 수 있도록 논리합으로 변환됩니다: a = 5 OR (a IS NULL AND b = 5). 인수가 더 많아도 같은 방식으로 확장됩니다.
  • ifNull(a = 5, 0) 또는 coalesce(a = 5, 0)처럼 거짓으로 평가되는(0) 상수 기본값을 조건으로 직접 사용하는 coalesce/ifNull은 내부 프레디케이트 a = 5로 풀어집니다. 이러한 래퍼는 내부 프레디케이트의 3값 결과를 확정적인 불리언 값으로 축약합니다(NULLfalse로 매핑).

allow_limit_by_partitions_independently

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

allow_materialized_view_with_bad_select

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

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년 7월 24일