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_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 또는 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값 결과를 확정적인 불리언 값으로 축약합니다(NULL을false로 매핑).
allow_limit_by_partitions_independently
LIMIT BY 컬럼의 결정론적 함수인 경우, 별도 스레드에서 파티션별로 LIMIT BY를 독립적으로 평가할 수 있게 합니다.
allow_materialized_view_with_bad_select
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 — 허용합니다.
사용 사례가 이전 구문에 의존하는 경우에만 이전 버전과의 호환성을 위해 이 설정을 사용하십시오.