Skip to main content
これらの設定は system.settings で参照でき、ソースコード から自動生成されています。

add_http_cors_header

HTTP CORS ヘッダーを追加して書き込みます。

analyze_index_with_space_filling_curves

テーブルの索引に空間充填曲線が含まれている場合 (例: ORDER BY mortonEncode(x, y)ORDER BY hilbertEncode(x, y)) 、クエリにその引数に対する条件 (例: x >= 10 AND x <= 20 AND y >= 20 AND y <= 30) があるときは、索引解析に空間充填曲線を使用します。

analyzer_inline_views

有効にすると、アナライザは通常の (非マテリアライズドかつ非パラメータ化された) ビューを、それを定義するサブクエリで置き換えます。これにより、述語プッシュダウンやカラムのプルーニングなど、ビュー境界をまたぐ最適化が可能になります。

any_join_distinct_right_table_keys

ANY INNER|LEFT JOIN 操作で従来の ClickHouse server の動作を有効にします。
この設定は、ユースケースが従来の JOIN の動作に依存している場合に限り、後方互換性のために使用してください。
従来の動作が有効な場合:
  • ClickHouse は左から右へのテーブルキーの多対一マッピングというロジックを使用するため、t1 ANY LEFT JOIN t2t2 ANY RIGHT JOIN t1 の結果は同一になりません。
  • ANY INNER JOIN 操作の結果には、SEMI LEFT JOIN 操作と同様に、左テーブルのすべての行が含まれます。
従来の動作が無効な場合:
  • ClickHouse は ANY RIGHT JOIN 操作で一対多のキーマッピングを行うロジックを使用するため、t1 ANY LEFT JOIN t2t2 ANY RIGHT JOIN t1 の結果は同一になります。
  • ANY INNER JOIN 操作の結果には、左テーブルと右テーブルの両方について、キーごとに 1 行が含まれます。
設定可能な値:
  • 0 — 従来の動作は無効です。
  • 1 — 従来の動作は有効です。
関連項目:

archive_adaptive_buffer_max_size_bytes

アーカイブファイル (たとえば tar アーカイブ) への書き込み時に使用されるアダプティブバッファの最大サイズを制限します

arrow_flight_request_descriptor_type

Arrow Flight リクエストで使用するディスクリプタの種類です。‘path’ はデータセット名をパスディスクリプタとして送信します。‘command’ は SQL クエリを command ディスクリプタとして送信します (Dremio では必須) 。 設定可能な値:
  • ‘path’ — FlightDescriptor::Path を使用します (デフォルト。ほとんどの Arrow Flight サーバーで動作します)
  • ‘command’ — SELECT クエリとともに FlightDescriptor::Command を使用します (Dremio では必須)

backup_slow_all_threads_after_retryable_s3_error

true に設定すると、同じバックアップエンドポイントに対して S3 リクエストを実行しているすべてのスレッドが、 いずれか 1 つの S3 リクエストで ‘Slow Down’ などの再試行可能な S3 エラーが発生した後に 遅延されます。 false に設定すると、各スレッドは他のスレッドとは独立して、S3 リクエストのバックオフを処理します。

cache_warmer_threads

ClickHouse Cloudでのみ有効です。cache_populated_by_fetch が有効な場合に、新しいデータパーツをファイルシステムキャッシュへ先読み的にダウンロードするバックグラウンドスレッド数です。無効にするには 0 を指定します。

calculate_text_stack_trace

クエリ実行中に例外が発生した場合に、テキスト形式のスタックトレースを計算します。これがデフォルトです。これにはシンボルのルックアップが必要なため、大量の不正なクエリが実行されると、ファジングテストが遅くなることがあります。通常、このオプションを無効にすべきではありません。

cancel_http_readonly_queries_on_client_close

クライアントがレスポンスを待たずに接続を閉じた場合、HTTP の読み取り専用クエリ (例: SELECT) をキャンセルします。 Cloud でのデフォルト値: 1.

checksum_on_read

読み取り時にチェックサムを検証します。これはデフォルトで有効になっており、本番環境では常に有効にしておくべきです。この設定を無効にしても、利点が得られることはありません。使用するのは、実験やベンチマークの場合のみにしてください。この設定が適用されるのは、MergeTree family のテーブルのみです。その他のテーブルエンジンや、ネットワーク経由でデータを受信する場合は、チェックサムは常に検証されます。

connection_pool_max_wait_ms

接続プールが満杯のときに、接続の確立を待機する時間をミリ秒単位で指定します。 設定可能な値:
  • 正の整数。
  • 0 — タイムアウトなし。

connections_with_failover_max_tries

Distributed テーブルエンジンで、各レプリカに対して行う接続試行の最大回数。

convert_query_to_cnf

true に設定すると、SELECT クエリは連言標準形 (CNF) に変換されます。クエリを CNF に書き換えることで、実行が高速になる場合があります (詳しくはこの Github issue を参照してください) 。 たとえば、次の SELECT クエリは変更されません (デフォルトの動作) :
結果は次のとおりです:
convert_query_to_cnftrue に設定して、何が変わるか見てみましょう。
WHERE句は CNF に書き換えられていますが、結果セットはまったく同じで、ブール値の論理は変わっていません:
設定可能な値: true, false

count_matches_stop_at_empty_match

countMatches 関数では、パターンが長さ 0 に一致した時点でカウントを停止します。

cross_to_inner_join_rewrite

WHERE 句に結合条件となる式がある場合、comma/cross join の代わりに inner join を使用します。値: 0 - 書き換えなし、1 - 可能な場合は comma/cross に適用、2 - すべての comma join を強制的に書き換え、cross は可能な場合に書き換え

data_type_default_nullable

カラム定義で明示的な修飾子 NULL or NOT NULL を指定しないデータ型を、Nullable として扱うかどうかを指定します。 設定可能な値:
  • 1 — カラム定義のデータ型は、デフォルトで Nullable に設定されます。
  • 0 — カラム定義のデータ型は、デフォルトで Nullable に設定されません。

decimal_check_overflow

Decimal の算術/比較演算でオーバーフローをチェックします

deduplicate_blocks_in_dependent_materialized_views

Replicated* テーブルからデータを受け取る materialized view に対する重複排除チェックを有効または無効にします。 設定可能な値:
  • 0 — 無効。
  • 1 — 有効。
有効にすると、ClickHouse は Replicated* テーブルに依存する materialized view 内のブロックに対して重複排除を実行します。 この設定は、障害によって挿入処理が再試行される場合に、materialized view に重複データが含まれないようにするのに役立ちます。 関連項目

defer_partition_pruning_after_final

有効な場合 (デフォルト) 、パーティションキーカラムがソートキーに含まれていない テーブルに対する FINAL クエリでは、パーティションプルーニングはスキップされます。これは 26.3 で導入された、正しさを優先した動作です。FINAL では、同じ主キーを共有しながら 異なるパーティションに存在する行を重複排除する必要が生じる場合があり、パーティションプルーニングを行うと、 そのような行が重複排除の対象から気づかれないまま除外される可能性があります。 無効な場合は、FINAL を使用していてもパーティションプルーニングが適用され、26.3 より前の 動作に戻ります。これは、パーティションカラムに対する WHERE 条件を含むクエリでは大幅に高速になる 可能性がありますが、同じ主キーを持つ行が異なるパーティションに存在しない場合にのみ正しい動作となります。 たとえば、パーティションカラムが insert 時に設定され、その後は変更されないイベントログテーブルなどです。 この設定が影響するのは、パーティションキーカラムがソートキーに含まれていない パーティションテーブルだけです。その他のテーブルでは、パーティションプルーニングは常に適用されます。 設定可能な値:
  • 0 — FINAL の前にパーティションプルーニングを適用します (26.3 より前の動作。高速ですが、一般的には安全ではありません) 。
  • 1 — FINAL の後までパーティションプルーニングを遅らせます (デフォルト。正しさを優先) 。

describe_compact_output

true の場合、DESCRIBE クエリの結果にはカラム名と型のみが含まれます

dialect

クエリの解析に使用するdialect

discard_query_data

有効にすると、サーバーはクエリ結果の行をクライアントに送信しなくなります。クエリ自体は引き続き実行され、サーバー上で完全に記録されます。また、クライアントはそれ以外のパケットを引き続き受信します。 シャドートラフィック、ベンチマーク、ファジングで使用します。 セカンダリクエリには影響しません。 ネイティブ TCP プロトコルにのみ適用されます。

distinct_overflow_mode

データ量がいずれかの上限を超えたときの動作を設定します。 設定可能な値:
  • throw: 例外をスローします (デフォルト) 。
  • break: クエリの実行を停止し、データソースが尽きたかのように 部分的な結果を返します。

do_not_merge_across_partitions_select_final

異なるパーティション間でのマージを避けることで、FINAL クエリを最適化します。 有効にすると、SELECT FINAL クエリの実行時に、異なるパーティションのパーツがまとめてマージされることはありません。代わりに、マージは各パーティション内でのみ個別に行われます。これにより、パーティション化されたテーブルを扱う際のクエリパフォーマンスを大幅に向上させることができます。

dynamic_throw_on_type_mismatch

デフォルト実装を使用して Dynamic カラムに関数を適用する際、 実際の型がその関数に適合しない行に対してどのように動作するかを制御します。
  • true (デフォルト) — 例外をスローします。
  • false — 代わりに、それらの行では NULL を返します。

enforce_strict_identifier_format

有効にすると、英数字とアンダースコアのみを含む識別子だけが許可されます。

engine_url_skip_empty_files

URL エンジンのテーブルで空のファイルをスキップするかどうかを有効または無効にします。 設定可能な値:
  • 0 — 空のファイルが要求されたフォーマットと互換性がない場合、SELECT は例外をスローします。
  • 1 — 空のファイルに対して、SELECT は空の結果を返します。

exact_rows_before_limit

有効にすると、ClickHouse は rows_before_limit_at_least 統計の正確な値を返しますが、その代わり、limit より前のデータを最後まで完全に読み取る必要があります

except_default_mode

EXCEPTクエリのデフォルトモードを設定します。設定可能な値: 空文字列、‘ALL’、‘DISTINCT’。空文字列の場合、モードを指定しないクエリは例外を返します。

exclude_materialize_skip_indexes_on_insert

指定したスキップ索引を、INSERT 時の構築および保存の対象から除外します。除外されたスキップ索引は、マージ中または明示的な MATERIALIZE INDEXクエリによって引き続き構築および保存されます。 materialize_skip_indexes_on_insert が false の場合、この設定は効果を持ちません。 例:

execute_exists_as_scalar_subquery

相関しない EXISTS サブクエリをスカラーサブクエリとして実行します。スカラーサブクエリと同様に cache が使用され、結果には定数畳み込みが適用されます。 Cloud でのデフォルト値: 0.

explain_query_plan_default

EXPLAIN PLAN で使用されるデフォルトのフォーマットです。 設定可能な値:
  • pretty (26.7 以降のデフォルト) — actionscompactpretty はデフォルトで true となり、コンパクトで見やすく、actions の注釈が付いたプランを生成します。
  • legacy — 26.7 より前の出力。
EXPLAIN ステートメントで actionscompact、または pretty オプションを明示的に指定した場合 (たとえば EXPLAIN actions = 0, compact = 0, pretty = 0 SELECT ...) 、常にこの設定よりも明示指定の方が優先されます。 json = 1 または distributed = 1 を指定した EXPLAIN PLAN では、actionscompact、または pretty が明示的に設定されていない限り、この設定に関係なく従来の (26.7 より前の) デフォルトが使われます。pretty 出力では JSON の結果や分片ごとの分散実行プランを表現できないため、これらのモードは legacy 形式でのみ正しくレンダリングされます。

extract_key_value_pairs_max_pairs_per_row

別名: extract_kvp_max_pairs_per_row extractKeyValuePairs 関数で生成可能なペアの最大数。メモリを過剰に消費しないようにするための保護策として使用されます。

extremes

極値 (クエリ結果の各カラムにおける最小値と最大値) を計算するかどうかを指定します。0 または 1 を指定できます。デフォルトは 0 (無効) です。 詳細については、「Extreme values」セクションを参照してください。

fallback_to_stale_replicas_for_distributed_queries

更新済みのデータを利用できない場合、古いレプリカに対してクエリを強制的に実行します。Replicationを参照してください。 ClickHouse は、テーブルの古いレプリカの中から最も適切なものを選択します。 レプリケートテーブルを参照する分散テーブルに対して SELECT を実行する際に使用されます。 デフォルト値は 1 (有効) です。

file_like_engine_default_partition_strategy

ファイル系テーブルエンジンのデフォルトのパーティション方式。

filesystem_prefetches_limit

prefetch の最大数です。0 は無制限を意味します。prefetch の数を制限したい場合は、設定 filesystem_prefetches_max_memory_usage を使用することを推奨します

final

クエリ内のすべてのテーブルのうち、FINAL を適用できるものに対して、FINAL 修飾子を自動的に適用します。これには、結合されたテーブル、サブクエリ内のテーブル、および分散テーブルが含まれます。 設定可能な値:
  • 0 - 無効
  • 1 - 有効
例:

finalize_projection_parts_synchronously

有効にすると、INSERT 中にプロジェクションパーツが同期的にファイナライズされ、S3 アップロードの並列度は下がるものの、ピークメモリ使用量を削減できます。デフォルトでは、各プロジェクションの出力ストリームは、パーツ全体 (すべてのプロジェクションを含む) のファイナライズが完了するまで維持されます。これにより S3 アップロードを並行して実行できますが、ピークメモリはプロジェクション数に比例して増加します。この設定が影響するのは INSERT パスのみで、merge と mutation ではすでにプロジェクションが同期的にファイナライズされます。

flatten_nested

nestedカラムのデータフォーマットを指定します。 設定可能な値:
  • 1 — Nested カラムは個別の配列にフラット化されます。
  • 0 — Nested カラムは単一のタプル配列のまま保持されます。
使用法 この設定を 0 にすると、任意のレベルのネストを使用できます。 クエリ:
結果:
クエリ:
結果:

fsync_metadata

.sql ファイルの書き込み時に fsync を有効または無効にします。デフォルトでは有効です。 server に、作成と削除が絶えず行われる非常に小さな table が数百万ある場合は、これを無効にするのが適切です。

functions_h3_default_if_invalid

false の場合、h3 関数 (例: h3CellAreaM2) は入力が無効であれば例外を発生させます。true の場合は、0 またはデフォルト値を返します。

geo_distance_returns_float64_on_float64_arguments

geoDistancegreatCircleDistancegreatCircleAngle 関数の4つの引数がすべて Float64 の場合、戻り値は Float64 となり、内部計算には倍精度が使用されます。以前の ClickHouse バージョンでは、これらの関数は常に Float32 を返していました。

geotoh3_argument_order

Function ‘geoToH3’ は、‘lon_lat’ に設定すると (lon, lat) を、‘lat_lon’ に設定すると (lat, lon) を受け入れます。

glob_expansion_max_elements

許可されるアドレス数の上限 (external storage、table function など) 。

h3togeo_lon_lat_result_order

関数 ‘h3ToGeo’ は、true の場合は (lon, lat)、それ以外の場合は (lat, lon) を返します。

handshake_timeout_ms

ハンドシェイク中にレプリカから Hello パケットを受信するまでのタイムアウト (ミリ秒) 。

hedged_connection_timeout_ms

ヘッジドリクエストでレプリカとの接続を確立する際の接続タイムアウト

highlight_max_matches_per_row

highlight 関数で、1行あたりのハイライト一致数の最大値を設定します。大きなテキスト内で繰り返しの多いパターンをハイライトする際に、過剰なメモリ使用量を防ぐために使用します。 設定可能な値:
  • 正の整数。
ベクトル類似度索引の検索時に使用される動的な候補リストのサイズです。ef_search とも呼ばれます。

hsts_max_age

HSTS の有効期限です。0 は HSTS を無効にします。

idle_connection_timeout

アイドル状態の TCP 接続を、指定した秒数経過後に切断するまでのタイムアウトです。 設定可能な値:
  • 正の整数 (0 の場合は 0 秒後、つまり即座に切断されます) 。

inject_random_order_for_select_without_order_by

有効にすると、ORDER BY clause を持たない SELECT クエリに ‘ORDER BY rand()’ を挿入します。 適用されるのはサブクエリの深さが 0 の場合のみです。サブクエリおよび INSERT INTO … SELECT は対象外です。 最上位の構造が UNION の場合、‘ORDER BY rand()’ はすべての child に個別に挿入されます。 ORDER BY がないとクエリ結果が非決定論的になるため、主にテストや開発でのみ有用です。

interactive_delay

リクエストの実行がキャンセルされたかどうかを確認し、Progressを送信する間隔をマイクロ秒単位で指定します。

intersect_default_mode

INTERSECTクエリのデフォルトモードを設定します。設定可能な値: 空文字列、‘ALL’、‘DISTINCT’。空の場合、モードを指定しないクエリでは例外がスローされます。

least_greatest_legacy_null_behavior

有効にすると、関数 ‘least’ と ‘greatest’ は、いずれかの引数が NULL の場合に NULL を返します。

legacy_column_name_of_tuple_literal

ハッシュではなく、大きなタプルリテラルの要素名をすべてカラム名として列挙します。この設定は互換性のためにのみ存在します。バージョン 21.7 未満から 21.7 以上へクラスターをローリングアップデートする際は、‘true’ に設定するのが適切です。

limit

クエリ結果から取得する行数の上限を設定します。これは LIMIT 句で設定された値を調整し、クエリで指定した制限値がこの設定で定めた上限を超えないようにします。 設定可能な値:
  • 0 — 行数は制限されません。
  • 正の整数。

load_marks_asynchronously

MergeTree のマークを非同期に読み込む Cloud でのデフォルト値: 1.

lock_acquire_timeout

ロックのリクエストが失敗するまでに待機する秒数を定義します。 このロックタイムアウトは、table に対する読み取り/書き込み操作の実行中にデッドロックを防ぐために使用されます。タイムアウトに達してロックのリクエストが失敗すると、ClickHouse server は例外 "Locking attempt timed out! Possible deadlock avoided. Client should retry." をスローし、エラーコード DEADLOCK_AVOIDED を返します。 設定可能な値:
  • 正の整数 (秒単位) 。
  • 0 — ロックタイムアウトなし。

low_priority_query_wait_time_ms

クエリの優先度付けの仕組みが使用されている場合 (設定 priority を参照) 、低優先度のクエリは高優先度のクエリが完了するまで待機します。この設定では、その待機時間を指定します。

make_distributed_plan

分散クエリプランを生成します。

merge_table_max_tables_to_look_for_schema_inference

明示的なスキーマを指定せずに Merge テーブルを作成する場合、または merge テーブル関数を使用する場合、スキーマは指定した数以下の一致するテーブルのスキーマのユニオンとして推論されます。 テーブル数がそれを超える場合は、先頭から指定した数のテーブルに基づいてスキーマが推論されます。

mongodb_throw_on_unsupported_query

有効な場合、MongoDBクエリを構築できないとき、MongoDBテーブルはエラーを返します。無効な場合、ClickHouse はテーブル全体を読み込み、ローカルで処理します。このオプションは、‘allow_experimental_analyzer=0’ の場合は適用されません。

multiple_joins_try_to_keep_original_names

複数の JOIN の書き換え時に、最上位の式リストへ別名を追加しない

normalize_function_names

関数名を標準名に正規化します

offset

クエリで行を返し始める前にスキップする行数を設定します。OFFSET 句で指定した offset を調整するため、これら 2 つの値は合算されます。 設定可能な値:
  • 0 — 行はスキップされません。
  • 正の整数。
入力テーブル:
クエリ:
結果:

paimon_target_snapshot_id

Paimon のインクリメンタルモードにおける、クエリレベルで特定のスナップショットを対象にした読み取りです。>0 の場合、リーダーはコミット済みのウォーターマークを進めずに、指定した snapshot_id の差分のみを取得します。 デフォルト: -1 (無効)

parallelize_output_from_storages

ストレージからの読み取りステップの出力を並列化します。これにより、可能な場合はストレージからの読み取り直後にクエリ処理を並列化できます。

partial_result_on_first_cancel

キャンセル後でも、クエリが部分的な結果を返せるようにします。

per_part_index_stats

各パートの索引統計をログに記録します

poll_interval

サーバー側のクエリ待機ループを、指定した秒数だけブロックします。

polyglot_dialect

polyglotトランスパイラの変換元SQL方言 (例: ‘sqlite’, ‘mysql’, ‘postgresql’, ‘snowflake’, ‘duckdb’) 。

postgresql_fault_injection_probability

内部 (レプリケーション用) の PostgreSQL クエリが失敗するおおよその確率です。有効な値の範囲は [0.0f, 1.0f] です

predicate_statistics_sample_rate

述語の選択性統計を system.predicate_statistics_log に収集します。N > 0 に設定すると、クエリ ID に基づいて、クエリのおよそ 1/N がサンプリングされます。0 は無効を意味します。

prefetch_buffer_size

filesystem から読み込むための prefetch バッファの最大サイズです。読み取りバッファをそれ以上大きくする必要はないため、256 MiB を超える値は 256 MiB に制限されます。 DESCRIBE クエリおよび toTypeName() 関数で、深くネストされた型名をインデント付きで見やすく表示できるようにします。 例:

priority

クエリの優先度。1 が最も高く、値が大きいほど優先度は低くなります。0 は優先度を使用しません。

push_external_roles_in_interserver_queries

クエリ実行時に、ユーザーロールをクエリの発行元から他のノードへプッシュすることを有効にします。

query_metric_log_interval

個々のクエリに対する query_metric_log の収集間隔 (ミリ秒単位) です。 負の値を指定すると、query_metric_log settingcollect_interval_milliseconds の値が使用され、存在しない場合はデフォルトで 1000 になります。 単一のクエリの収集を無効にするには、query_metric_log_interval を 0 に設定します。 デフォルト値: -1

queue_max_wait_ms

同時実行リクエスト数が最大値を超えた場合に、リクエストキュー内で待機する時間です。

rabbitmq_max_wait_ms

再試行前にRabbitMQから読み取る際の待機時間。

readonly

0 - 読み取り専用に関する制限はありません。1 - 閲覧リクエストのみ許可され、明示的に許可された設定の変更も可能です。2 - 閲覧リクエストのみ許可され、‘readonly’ 設定を除く設定の変更も可能です。

recursive_cte_max_steps_in_type_inference

recursive CTE のカラム型を推論する際の最大反復回数です。カラム型は、収束するまで、UNION ALL の非再帰側と再帰側に対して getLeastSupertype を繰り返し適用することで決定されます。0 に設定すると型の拡張が無効になり、非再帰部分の型のみが使用されます。

regexp_max_matches_per_row

1行あたり、単一の正規表現に対する最大一致数を設定します。extractAllGroupsHorizontal 関数で貪欲な正規表現を使用する際のメモリ過負荷を防ぐために使用します。 設定可能な値:
  • 正の整数。

reject_expensive_hyperscan_regexps

hyperscan での評価コストが高くなる可能性が高いパターンを拒否します (NFA の状態爆発が原因)

remerge_sort_lowered_memory_bytes_ratio

remerge 後のメモリ使用量がこの比率まで減少しない場合、remerge は無効になります。

remote_read_min_bytes_for_seek

ignore を伴う読み取りではなく seek を行うために、リモート読み取り (url、S3) で必要な最小バイト数。

rename_files_after_processing

  • 型: String
  • デフォルト値: 空文字列
この設定では、file テーブル関数で処理したファイルのリネームパターンを指定できます。このオプションを設定すると、file テーブル関数で読み取られたすべてのファイルは、処理が正常に完了した場合に限り、プレースホルダーを含む指定のパターンに従ってリネームされます。

プレースホルダー

  • %a — 元の完全なファイル名 (例: “sample.csv”) 。
  • %f — 拡張子を除いた元のファイル名 (例: “sample”) 。
  • %e — ドット付きの元のファイル拡張子 (例: “.csv”) 。
  • %t — タイムスタンプ (マイクロ秒単位) 。
  • %% — パーセント記号 (”%”) 。

  • オプション: --rename_files_after_processing="processed_%f_%t%e"
  • クエリ: SELECT * FROM file('sample.csv')
sample.csv の読み取りに成功すると、ファイル名は processed_sample_1683473210851438.csv に変更されます

replication_wait_for_inactive_replica_timeout

非アクティブなレプリカが ALTEROPTIMIZE、または TRUNCATE クエリを実行するまでの待機時間 (秒) を指定します。 設定可能な値:
  • 0 — 待機しません。
  • 負の整数 — 無制限に待機します。
  • 正の整数 — 待機する秒数。

reserve_memory

ワークロードスケジューリングで使用されます。単一のサーバーでクエリを実行するために予約される RAM の最小量です。予約は、workload クエリ設定の値を使用して、WORKLOAD 階層を通じて行われます。 ワークロードで使用可能なメモリが不足している場合、クエリは開始されず、予約を確保できるまで保留状態で待機します。 0 は予約を行わないことを意味します。 この設定は、MEMORY RESERVATION リソースが作成されている場合にのみ有効です。

restore_replicated_merge_tree_to_shared_merge_tree

RESTORE 時に、テーブルエンジンを ReplicatedMergeTree から SharedMergeTree に置き換えます。 Cloud でのデフォルト値: 1

result_overflow_mode

結果量がいずれかの制限を超えた場合の動作を設定します。 設定可能な値:
  • throw: 例外をスローします (デフォルト) 。
  • break: クエリの実行を停止し、ソースデータが尽きたかのように 部分的な結果を返します。
‘break’ を使う動作は LIMIT の使用に似ています。break は block レベルでのみ実行を中断します。つまり、返される行数は max_result_rows を上回り、max_block_size の倍数になり、max_threads に依存します。
Query
Result

rows_before_aggregation

有効にすると、ClickHouse は rows_before_aggregation 統計値の正確な値を返します。これは、集約前に読み取られた行数を表します

secondary_indices_enable_bulk_filtering

インデックスでの一括フィルタリングアルゴリズムを有効にします。通常はこちらのほうが常に優れていると想定されていますが、互換性の確保と制御のためにこの設定を用意しています。

select_sequential_consistency

この設定は、SharedMergeTree と ReplicatedMergeTree で動作が異なります。SharedMergeTree における select_sequential_consistency の動作の詳細については、SharedMergeTree consistency を参照してください。
SELECT クエリで逐次整合性を有効または無効にします。insert_quorum_parallel を無効にする必要があります (デフォルトでは有効) 。 設定可能な値:
  • 0 — 無効。
  • 1 — 有効。
使用方法 逐次整合性が有効な場合、ClickHouse は、insert_quorum を指定してそれまでに実行されたすべての INSERT クエリのデータを含むレプリカに対してのみ、クライアントが SELECT クエリを実行できるようにします。クライアントが不完全なレプリカを参照した場合、ClickHouse は例外を生成します。SELECT クエリには、まだレプリカのクォーラムに書き込まれていないデータは含まれません。 insert_quorum_parallel が有効な場合 (デフォルト) 、select_sequential_consistency は機能しません。これは、並列の INSERT クエリが異なるクォーラムレプリカのセットに書き込まれる可能性があるため、単一のレプリカがすべての書き込みを受け取っている保証がないためです。 関連項目:

session_timezone

現在のセッションまたはクエリの暗黙的なタイムゾーンを設定します。 暗黙的なタイムゾーンとは、明示的にタイムゾーンが指定されていない DateTime/DateTime64 型の値に適用されるタイムゾーンのことです。 この設定は、グローバルに設定された (サーバーレベルの) 暗黙的なタイムゾーンよりも優先されます。 値 '' (空文字列) は、現在のセッションまたはクエリの暗黙的なタイムゾーンが server time zone と同じであることを意味します。 関数 timeZone()serverTimeZone() を使用すると、セッションのタイムゾーンとサーバーのタイムゾーンを取得できます。 設定可能な値:
  • system.time_zones に含まれる任意のタイムゾーン名 (例: Europe/BerlinUTCZulu)
例:
明示的にタイムゾーンが指定されていない内側のDateTimeに、セッションのタイムゾーン ‘America/Denver’ を割り当てます:
DateTime/DateTime64 を解析する関数のすべてが session_timezone に従うわけではありません。これにより、気づきにくいエラーが生じる可能性があります。 次の例と説明を参照してください。
これは、パース処理のパイプラインが異なるために発生します。
  • 最初の SELECT クエリで、タイムゾーンを明示的に指定せずに使用された toDateTime() は、設定 session_timezone とグローバルタイムゾーンに従います。
  • 2 つ目のクエリでは、DateTime は String からパースされ、既存のカラムdの型とタイムゾーンを継承します。そのため、設定 session_timezone とグローバルタイムゾーンには従いません。
関連項目

set_overflow_mode

データ量がいずれかの制限値を超えた場合の動作を設定します。 設定可能な値:
  • throw: 例外を発生させます (デフォルト) 。
  • break: クエリの実行を停止し、入力データが尽きたかのように 部分的な結果を返します。

single_join_prefer_left_table

単一の JOIN で識別子が曖昧な場合は、左テーブルを優先します

skip_redundant_aliases_in_udf

ユーザー定義関数を簡単に利用できるように、冗長な別名は UDF 内では使用されず、置換されます。 設定可能な値:
  • 1 — UDF では別名がスキップされます (置換されます) 。
  • 0 — UDF では別名はスキップされません (置換されます) 。
有効時と無効時の違い: クエリ:
結果:
クエリ:
結果:

sleep_after_receiving_query_ms

TCPHandler でクエリを受信した後のスリープ時間

snappy_mode

fileurl などの汎用 file I/O パスで、snappy 圧縮に使用するワイヤ形式を制御します。HTTP Content-Encoding: snappy は常に framing フォーマットを使用し、この設定は無視されます。 単一の snappy::Compress 呼び出しで生成される生の snappy ブロックフォーマット (たとえば SnappyBasicReadBuffer が処理する Prometheus リモートプロトコルのペイロード) は、これとは別のプロトコル固有のワイヤ形式であり、この設定の制御対象ではない点に注意してください。 設定可能な値:
  • basic — Hadoop snappy ブロックフォーマット。Hadoop が読み書きするファイルと互換性があります。読み取りと書き込みの両方をサポートします。
  • framed — Snappy framing フォーマット。Google が定義した標準的なストリーミングフォーマットです。読み取りと書き込みの両方をサポートします。

sort_overflow_mode

ソート前に受信した行数がいずれかの制限を超えた場合の動作を設定します。 設定可能な値:
  • throw: 例外をスローします。
  • break: クエリの実行を停止し、部分的な結果を返します。

splitby_max_substrings_includes_remaining_string

引数 max_substrings > 0 が指定された関数 splitBy*() で、結果配列の最後の要素に残りの文字列を含めるかどうかを制御します。 設定可能な値:
  • 0 - 残りの文字列は、結果配列の最後の要素に含まれません。
  • 1 - 残りの文字列は、結果配列の最後の要素に含まれます。これは、Spark の split() 関数および Python の string.split() メソッドと同じ動作です。

stop_refreshable_materialized_views_on_startup

サーバーの起動時に、SYSTEM STOP VIEWS を実行した場合と同様に、リフレッシャブルmaterialized view がスケジュールされないようにします。その後、SYSTEM START VIEWS または SYSTEM START VIEW <name> を使用して手動で開始できます。新しく作成されたビューにも適用されます。リフレッシャブルでない materialized view には影響しません。

tcp_keep_alive_timeout

TCP が keepalive プローブの送信を開始するまでに、接続がアイドル状態のままである時間 (秒)

temporary_data_in_cache_reserve_space_wait_lock_timeout_milliseconds

ファイルシステムキャッシュ内の一時データで領域を予約する際に、cache を lock するまでの待機時間

throw_if_no_data_to_insert

空の INSERT を許可または禁止します。デフォルトで有効になっており、空の INSERT ではエラーが発生します。clickhouse-client を使用する INSERT、または gRPC インターフェイス を使用する INSERT にのみ適用されます。

timeout_before_checking_execution_speed

指定した秒数の経過後、実行速度が遅すぎないこと (min_execution_speed を下回らないこと) を確認します。

transfer_overflow_mode

データ量がいずれかの制限値を超えたときの動作を設定します。 設定可能な値:
  • throw: 例外をスローします (デフォルト) 。
  • break: クエリの実行を停止し、ソースデータが尽きた場合と同様に、 部分的な結果を返します。

transform_null_in

IN 演算子において、NULL 値同士を等価として扱うようにします。 デフォルトでは、NULL は未定義の値を意味するため、NULL 値同士は比較できません。したがって、比較 expr = NULL は常に false を返します。この設定を有効にすると、IN 演算子では NULL = NULLtrue を返します。 設定可能な値:
  • 0 — IN 演算子での NULL 値の比較は false を返します。
  • 1 — IN 演算子での NULL 値の比較は true を返します。
null_in テーブルを考えます。
クエリ:
結果:
クエリ:
結果:
関連項目

traverse_shadow_remote_data_paths

system.remote_data_paths をクエリする際、実際のテーブルデータに加えて凍結データ (shadow ディレクトリ) も走査します

union_default_mode

SELECT クエリ結果を結合するモードを設定します。この設定は、UNION ALL または UNION DISTINCT を明示的に指定せずに UNION を使用した場合にのみ適用されます。 設定可能な値:
  • 'DISTINCT' — ClickHouse は、重複する行を除去したうえで、クエリを結合した結果の行を出力します。
  • 'ALL' — ClickHouse は、重複する行を含めて、クエリを結合した結果のすべての行を出力します。
  • ''UNION とともに使用すると、ClickHouse は例外を生成します。
例は UNION を参照してください。

unique_key_max_encoded_size

単一の UNIQUE KEY 行を順序を保持したままバイナリエンコーディングした際の最大サイズ (バイト) 。

unknown_packet_in_send_data

N 番目のデータパケットでは、データの代わりに不明なパケットを送信します

variant_throw_on_type_mismatch

デフォルト実装で Variant カラムに関数を適用する際、 実際の型がその関数に対応していない行をどのように扱うかを制御します。
  • true (デフォルト) — 例外をスローします。
  • false — 代わりにそれらの行には NULL を返します。

wait_changes_become_visible_after_commit_mode

コミット済みの変更が最新のスナップショットで実際に見えるようになるまで待機します

workload

リソースへのアクセスに使用するワークロード名

write_full_path_in_iceberg_metadata

Icebergメタデータファイルに完全なパス (s3:// を含む) を書き込みます。

zstd_window_log_max

ZSTD の最大ウィンドウログを設定します (MergeTree family では使用されません) 。
最終更新日 2026年7月24日