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
MergeTree テーブルからの読み取りにバックグラウンド I/O プールを使用します。この設定により、I/O 律速のクエリではパフォーマンスが向上する場合があります。allow_calculating_subcolumns_sizes_for_merge_tree_reading
有効にすると、ClickHouse は各サブカラムの読み取りに必要なファイルサイズを計算し、タスクサイズとブロックサイズをより適切に算出します。allow_changing_replica_until_first_data_packet
有効な場合、ヘッジドリクエストでは、すでにある程度 Progress が進んでいても、最初の Data パケットを受信するまで新しい接続を開始できます (ただし、receive_data_timeout のタイムアウト時間内に Progress が更新されていない場合に限ります) 。無効な場合は、最初に Progress が進んだ時点以降、レプリカの切り替えは行われません。
allow_correlated_subqueries
別名:allow_experimental_correlated_subqueries
相関サブクエリの実行を許可します。
allow_create_index_without_type
TYPE を指定しない CREATE INDEX クエリを許可します。このクエリは無視されます。SQL 互換性テストのための設定です。allow_creating_set_partitions_independently
サブクエリのMergeTree テーブルのパーティション式がサブクエリ出力カラムの決定論的関数である場合に、IN (subquery) のセット構築時にサブクエリ結果をパーティションごとに並列で事前重複排除します。各パーティションは個別のストリームで読み取られ、独立して重複排除されるため、単一のセット補完変換でハッシュ化されるのは一意の行のみです。FINAL、並列レプリカ、GLOBAL IN では適用されません。この最適化でパーティションごとの読み取りが要求されるのは、データに複数のパーティションがあり、かつ最大パーティションの行数が平均パーティションの行数の2倍以下である場合のみです (偏りのチェックを回避するには、force_creating_set_partitions_independently を参照してください) 。別のパーティションごとの機能 (たとえばパーティションごとの LIMIT BY) によってストリームがすでにパーティション間で分離されている場合は、読み取りレイアウトがすでに固定されているため、事前重複排除は常に適用されます。セットの構築中、ストリームごとの重複排除テーブルには合計で、一意のキーのコピー約1つ分が追加で保持されます。
allow_custom_error_code_in_throwif
関数 throwIf() でカスタムエラーコードを有効にします。true の場合、送出される例外に想定外のエラーコードが付与されることがあります。allow_database_glue_catalog
別名:allow_experimental_database_glue_catalog
catalog_type = 'glue' を指定したデータベースエンジン DataLakeCatalog を許可します
Cloud でのデフォルト値: 1。
allow_database_iceberg
別名:allow_experimental_database_iceberg
catalog_type = 'iceberg' を指定したデータベースエンジン DataLakeCatalog を許可します
Cloud でのデフォルト値: 1。
allow_database_unity_catalog
別名:allow_experimental_database_unity_catalog
catalog_type = 'unity' を指定したデータベースエンジン DataLakeCatalog を許可します
Cloud でのデフォルト値: 1。
allow_ddl
true に設定すると、ユーザーは DDL クエリを実行できます。allow_delta_kernel_rs
別名:allow_experimental_delta_kernel_rs
Delta Lake テーブルの読み取りに delta-kernel-rs 実装を使用できるようにします。
allow_delta_lake_create_table
delta-kernel-rs を使用した新しい Delta Lake テーブルの作成、または既存テーブルのカタログへの登録を許可します。パーティション化されたテーブル (PARTITION BY) の作成はまだサポートされていません。DataLakeCatalog データベースでは、テーブルは Delta スキーマとして登録されるため、より広い Delta 型にマッピングされる ClickHouse 型を宣言した場合 (例: UInt8 -> short、FixedString(N) -> string) 、読み出し時には宣言した型ではなく Delta 側でマッピングされた型になります。
allow_delta_lake_writes
別名:allow_experimental_delta_lake_writes
delta-kernel の書き込み機能を有効にします。
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
これを true に設定すると、ユーザーは分散 DDL クエリを実行できます。allow_drop_detached
ALTER TABLE … DROP DETACHED PART[ITION] … クエリの実行を許可しますallow_dynamic_type_in_join_keys
JOIN キーで Dynamic 型を使用できるようにします。互換性のために追加された設定です。他の型との比較で予期しない結果になる可能性があるため、JOIN キーで Dynamic 型を使用することは推奨されません。allow_executable_tables
executable テーブル関数経由での読み取り、および Executable テーブルと ExecutablePool テーブルからの読み取りを許可します。
これを無効にした場合、拒否されるのは読み取りのみで、こうしたテーブルの作成、アタッチ、削除、DESCRIBE は引き続き利用できます。すでに起動済みの ExecutablePool のプロセスは終了されずに実行されたままになりますが、この設定を再び有効にするまで、読み取りはその都度拒否されます。
allow_execute_multiif_columnar
multiIf 関数の列指向実行を許可するallow_fuzz_query_functions
クエリ文字列に対して AST にランダムな変更を加えるfuzzQuery 関数を有効にします。
allow_general_join_planning
より複雑な条件を処理できる、より汎用的な JOIN 計画アルゴリズムを使用できるようにしますが、これはハッシュ結合でのみ機能します。ハッシュ結合が有効でない場合は、この設定の値に関係なく、通常の JOIN 計画アルゴリズムが使用されます。allow_geo_types_in_iceberg
別名:allow_experimental_geo_types_in_iceberg
Iceberg の geometry および geography フィールド型を、ClickHouse の Geometry (Variant) 型としてパースできるようにします。
allow_get_client_http_header
現在の HTTP リクエストのヘッダー値を取得できる関数getClientHTTPHeader の使用を許可します。Cookie などの一部のヘッダーには機密情報が含まれる可能性があるため、セキュリティ上の理由からデフォルトでは有効になっていません。なお、X-ClickHouse-*、Authentication、Authorization の各ヘッダーは常に制限されており、この関数では取得できません。
allow_hyperscan
Hyperscan ライブラリを使用する関数を許可します。コンパイルに長時間かかったり、リソースを過剰に消費したりする可能性を避けるには、無効にしてください。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 — イントロスペクション関数が無効。
- Sampling Query Profiler
- システムテーブル trace_log
allow_join_right_table_sorting
別名:allow_experimental_join_right_table_sorting
true に設定されており、かつ join_to_sort_minimum_perkey_rows と join_to_sort_maximum_table_rows の条件を満たす場合、右テーブルをキー順に並べ替え、left または inner のハッシュ結合の性能を向上させます。
allow_kafka_offsets_storage_in_keeper
別名:allow_experimental_kafka_offsets_storage_in_keeper
Kafka 関連のオフセットを ClickHouse Keeper に保存できるようにします。有効にすると、Kafka table engine に ClickHouse Keeper パスとレプリカ名を指定できます。これにより、通常の Kafka エンジンではなく、committed offsets を主に ClickHouse Keeper に保存する新しい種類の storage engine が使用されます
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
存在しないテーブルまたはカラムを参照する SELECT query を含む CREATE MATERIALIZED VIEW を許可します。ただし、構文的には有効である必要があります。refreshable MVs には適用されません。また、MV のスキーマを SELECT query から推論する必要がある場合にも適用されません (つまり、CREATE にカラムリストがなく、TO table もない場合です) 。ソーステーブルより前に MV を作成する際に使用できます。allow_metadata_only_named_tuple_alter
true の場合、名前付き Tuple に新しいサブフィールドを追加するだけの ALTER MODIFY COLUMN は、メタデータのみを変更します (データ mutation は実行されません) 。 false に設定すると、従来の完全 mutation の動作を強制します。allow_minmax_index_for_json
JSON (Object) カラムに対する minmax スキップ索引の作成を許可します。デフォルトでは無効です。これは、minmax 索引のシリアライゼーション処理では、JSON カラムに含まれる可能性がある異種の Field 値を扱えないためです。allow_named_collection_override_by_default
デフォルトで named collections のフィールドの上書きを許可します。allow_non_metadata_alters
テーブルのメタデータだけでなく、ディスク上のデータにも影響するalterの実行を許可しますallow_nonconst_timezone_arguments
toTimeZone()、fromUnixTimestamp*()、snowflakeIDToDateTime*() などの一部の時刻関連関数で、非定数のタイムゾーン引数を許可します。 この設定は、互換性のためだけに存在します。ClickHouse では、タイムゾーンはデータ型、すなわちカラムのプロパティです。 この設定を有効にすると、1 つのカラム内の値ごとに異なるタイムゾーンを持てるかのような、誤った印象を与えます。 したがって、この設定は有効にしないでください。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_preliminary_distinct_abandoning
予備段 (ストリームごと) のDISTINCT が、ほぼ一意な入力に対する重複排除を打ち切り、ハッシュテーブルを解放して残りの行をそのまま通過させられるようにします。予備段の DISTINCT は設計上ベストエフォートであり (重複排除を行う場合でも、異なるストリームに由来する重複はそのまま通過します) 、最終段の DISTINCT がその出力を再度重複排除します。そのため、打ち切っても取り除ける重複はほとんど失われず、一意なキーの2つ目のコピーに要するメモリとハッシュ計算を節約できます。予備段の DISTINCT がリミットのヒント (後続の並べ替えを伴わない単純な LIMIT) を持つ場合には適用されません。
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
条件を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 のような特殊なシリアライゼーション種別を持つカラムを、フルカラム表現に変換せずに出力できるようにします。 これにより、フォーマット処理時の不要なデータコピーを避けられます。allow_unrestricted_reads_from_keeper
system.zookeeper table から無制限に (path に条件を指定せずに) 読み取ることを許可します。便利な場合もありますが、ZooKeeper に対して安全ではありません。allow_url_wildcard_from_index_pages
別名:allow_experimental_url_wildcard_from_index_pages
HTTP のインデックスページからの url() および ENGINE = URL に対する wildcard 展開を許可します。
allow_window_partitions_independently
MergeTree テーブルのパーティション式がウィンドウ PARTITION BY カラムの決定論的関数である場合、パーティションごとに別スレッドでウィンドウ関数を独立して評価します。各パーティションは個別のストリームで読み取られ、ウィンドウのソート記述に従って個別にソートされた後、それぞれ専用のウィンドウ変換で処理されます。通常はすべての行をスレッド間で再配分する hash scatter をスキップします。パーティション数がコア数に近く、各パーティションのサイズがほぼ同じ場合に有効です。それ以外の場合はコストヒューリスティックによりこの最適化はスキップされます。max_number_of_partitions_for_independent_window および force_window_partitions_independently を参照してください。FINAL または並列レプリカでは適用されません。