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_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 または ifNull を含む WHERE/PREWHERE 述語について、MergeTree の主キーおよびスキップ索引でグラニュールを枝刈りできるようにします。この設定がない場合、このような述語は索引解析では不透明なものとして扱われ、枝刈りされないため、一致しないことが明らかなグラニュールも読み込まれます。影響するのはどのグラニュールを読み込むかだけであり、行は引き続き元の述語でフィルタされるため、クエリ結果は変わりません。
索引解析の前に、次の 2 種類の述語パターンが書き換えられます。
coalesce/ifNullに対する比較 (たとえばcoalesce(a, b) = 5) は、各 argument の索引で枝刈りできるよう、選言に書き換えられます:a = 5 OR (a IS NULL AND b = 5)。argument がさらに多い場合も同様に拡張されます。- 条件として直接使用される、偽とみなされる (ゼロの) 定数デフォルトを持つ
coalesce/ifNull(たとえばifNull(a = 5, 0)やcoalesce(a = 5, 0)) は、内部の述語a = 5にアンラップされます。このような wrapper は、内部述語の三値の結果を確定的なブール値に畳み込みます (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(...)を返し、サブカラムが存在しない行にはデフォルトのタプル値を使用します。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 が使用されます。