allow_aggregate_partitions_independently
ReadFromMergeTree의 휴리스틱은 레이아웃이 바람직하지 않은 경우(파티션이 너무 적거나, 너무 많거나, 파티션 크기 편차가 큰 경우) 이 최적화를 자동으로 비활성화합니다. 이러한 검사를 우회하려면 force_aggregate_partitions_independently를 참조하십시오.
allow_archive_path_syntax
<archive> :: <file>로 해석합니다.
allow_asynchronous_read_from_io_pool_for_merge_tree
allow_calculating_subcolumns_sizes_for_merge_tree_reading
allow_changing_replica_until_first_data_packet
receive_data_timeout timeout 동안 Progress가 갱신되지 않은 경우). 그렇지 않으면 처음 Progress가 발생한 이후에는 레플리카 변경을 비활성화합니다.
allow_create_index_without_type
allow_custom_error_code_in_throwif
allow_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_distinct 및 force_distinct_partitions_independently를 참조하십시오. FINAL 또는 병렬 레플리카와 함께 사용할 때는 적용되지 않습니다.
max_rows_in_distinct 또는 max_bytes_in_distinct가 설정된 경우에도 적용되지 않습니다. 이러한 제한은 전체 머지 결과를 확인하는 단일 DISTINCT 변환에서 적용되므로, 제한의 전역적 의미를 유지하기 위해 스트림 간 머지를 유지합니다.
allow_distributed_ddl
allow_drop_detached
allow_dynamic_type_in_join_keys
allow_execute_multiif_columnar
allow_fuzz_query_functions
fuzzQuery 함수를 활성화합니다.
allow_general_join_planning
allow_get_client_http_header
getClientHTTPHeader 함수를 사용할 수 있도록 허용합니다. Cookie와 같은 일부 header에는 민감한 정보가 포함될 수 있으므로, 보안상의 이유로 기본적으로는 활성화되어 있지 않습니다. X-ClickHouse-*, Authentication, Authorization headers는 항상 제한되므로 이 함수로 가져올 수 없습니다.
allow_hyperscan
allow_iceberg_remove_orphan_files
allow_insert_into_iceberg
allow_experimental_insert_into_iceberg
Iceberg에 insert 쿼리를 실행할 수 있도록 허용합니다.
allow_introspection_functions
- 1 — 인트로스펙션 함수가 활성화됩니다.
- 0 — 인트로스펙션 함수가 비활성화됩니다.
- 샘플링 쿼리 프로파일러
- 시스템 테이블 trace_log
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
Decimal과 Float64, 또는 Int64와 Float64)에 대해 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
allow_metadata_only_named_tuple_alter
allow_minmax_index_for_json
allow_named_collection_override_by_default
allow_non_metadata_alters
allow_nonconst_timezone_arguments
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
RANK 및 DENSE_RANK 윈도우 함수에 인수를 전달할 수 있도록 합니다.
SQL 표준에 따르면 RANK 및 DENSE_RANK는 인수를 받지 않으며, 순위는
OVER (ORDER BY ...) 윈도우만을 기준으로 매겨집니다. ClickHouse 26.5 이전 버전에서는
RANK(x) OVER (...)와 같은 쿼리에서 인수를 전달해도 조용히 받아들인 뒤 무시했기 때문에 사용자 혼란이 발생했습니다
(겉으로 보이는 인수는 순위 계산에 영향을 주는 것처럼 보이지만 실제로는 그렇지 않았습니다).
이 설정이 false이면(기본값) RANK 및 DENSE_RANK는 모든 인수를 거부하고
NUMBER_OF_ARGUMENTS_DOESNT_MATCH를 발생시킵니다. true로 설정하면 기존의 느슨한 동작이
복원되며, 인수는 조용히 무시되어 26.5 이전 동작과 동일하게 처리됩니다.
allow_reorder_prewhere_conditions
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 — 허용합니다.
사용 사례가 이전 구문에 의존하는 경우에만 이전 버전과의 호환성을 위해 이 설정을 사용하십시오.