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

insert_allow_materialized_columns

この設定を有効にすると、INSERT でマテリアライズドカラムを使用できます。

insert_deduplicate

INSERT のブロックの重複排除 (Replicated* テーブル向け) を有効または無効にします。 設定可能な値:
  • 0 — 無効。
  • 1 — 有効。
デフォルトでは、INSERT ステートメントによってレプリケートテーブルに挿入されたブロックは重複排除されます (Data Replication を参照) 。 レプリケートテーブルでは、デフォルトで各パーティションにつき直近 100 個のブロックのみが重複排除されます (replicated_deduplication_windowreplicated_deduplication_window_seconds を参照) 。 非レプリケートテーブルについては、non_replicated_deduplication_window を参照してください。

insert_deduplication_token

この設定を使用すると、MergeTree/ReplicatedMergeTree で独自の重複排除セマンティクスを指定できます。 たとえば、各 INSERT ステートメントでこの設定に一意の値を指定することで、 同じ挿入データが重複排除されるのを防げます。 設定可能な値:
  • 任意の文字列
insert_deduplication_token は、空でない場合にのみ重複排除に使用されます。 レプリケートテーブルでは、デフォルトで各パーティションごとに直近 100 件の insert のみが重複排除されます (replicated_deduplication_windowreplicated_deduplication_window_seconds を参照) 。 レプリケーションされていないテーブルについては、non_replicated_deduplication_window を参照してください。
insert_deduplication_token はパーティション単位で追跡されるため、1 回の insert で書き込まれる複数のパーティションで同じトークンを使用できます。トークンがない場合、デフォルトの内容チェックサムは挿入された block 全体に対して計算されるため、insert が重複排除されるのは、そのデータ全体が以前の insert (再試行) と一致する場合のみです。単一パーティションの行が、たまたま別の insert と一致しただけでは重複排除されません。
例:

insert_null_as_default

Nullable ではないデータ型のカラムに対して、NULL の代わりに デフォルト値 を挿入するかどうかを切り替えます。 カラム型が Nullable ではなく、この設定が無効な場合、NULL を挿入すると例外が発生します。カラム型が Nullable の場合は、この設定に関係なく、NULL 値はそのまま挿入されます。 この設定は INSERT … SELECT クエリに適用されます。SELECT サブクエリは UNION ALL 句で連結できる点に注意してください。 設定可能な値:
  • 0 — Nullable ではないカラムに NULL を挿入すると例外が発生します。
  • 1 — NULL の代わりにカラムのデフォルト値が挿入されます。

insert_shard_id

0 でない場合、データを同期的に挿入する Distributed テーブルの分片を指定します。 insert_shard_id の値が正しくない場合、サーバーは例外をスローします。 requested_cluster の分片数を取得するには、サーバーの設定を確認するか、このクエリを使用します。
設定可能な値:
  • 0 — 無効。
  • 対応する Distributed テーブルの 1 から shards_num までの任意の数値。
クエリ:
結果:
最終更新日 2026年7月23日