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 のタイムアウト時間内に 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 などの一部のヘッダーには機密情報が含まれる可能性があるため、セキュリティ上の理由からデフォルトでは有効になっていません。なお、X-ClickHouse-*、Authentication、Authorization の各ヘッダーは常に制限されており、この関数では取得できません。
allow_hyperscan
allow_iceberg_remove_orphan_files
allow_insert_into_iceberg
allow_experimental_insert_into_iceberg
Iceberg に対する insert クエリの実行を許可します。
allow_introspection_functions
- 1 — イントロスペクション関数が有効。
- 0 — イントロスペクション関数が無効。
- Sampling Query Profiler
- システムテーブル 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 の有効・無効にかかわらず数値スーパータイプが生成されます。無効の場合 (デフォルト) 、このような引数セットには共通型がないため、Variant になる (use_variant_as_common_type が有効な場合) か、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(...)を返し、サブカラムが存在しない行にはデフォルトのタプル値を使用します。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 ...) ウィンドウのみに基づいて行を順位付けします。26.5 より前の ClickHouse バージョンでは、
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 — 許可。
古い構文に依存するユースケースがある場合に限り、後方互換性のためにこの設定を使用してください。
allow_simdjson
JSON* 関数で simdjson ライブラリを使用できるようにします。無効にすると、rapidjson が使用されます。