> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# allow_* セッション設定

> allow_* 自動生成グループ内の ClickHouse セッション設定。

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <span>ベータ</span>
            </a>;
  }
  return <a href="https://clickhouse.com/docs/reference/settings/beta-and-experimental-features#beta-features" className="betaBadge">
            <span>ベータ機能</span>
        </a>;
};

export const ExperimentalBadge = () => {
  return <a href="https://clickhouse.com/docs/reference/settings/beta-and-experimental-features#experimental-features" className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            実験的な機能
        </a>;
};

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["バージョン", "デフォルト値", "コメント"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        バージョン履歴
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>型</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>デフォルト値</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          再起動せずに変更可能
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

これらの設定は [system.settings](/ja/reference/system-tables/settings) で参照でき、[source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp) から自動生成されています。

<div id="allow_aggregate_partitions_independently">
  ## allow\_aggregate\_partitions\_independently
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1"},{"label": "パーティションキーが GROUP BY キーに適している場合、デフォルトでパーティションごとの独立した集約を有効にします。`ReadFromMergeTree::requestOutputEachPartitionThroughSeparatePortForAggregation` にある既存の実行時ヒューリスティックは、パーティションレイアウトが不利な場合（パーティション数が少なすぎる、多すぎる、またはパーティションサイズの偏りが大きい場合）には、この最適化をすでにスキップします。そのため、本来 no-op になるケースでは、この設定を有効にしても安全です。"}]}]} />

パーティションキーが GROUP BY キーに適している場合、パーティションごとに別スレッドで独立して集約できるようにします。これは、パーティション数がコア数に近く、各パーティションのサイズがほぼ同じ場合に有効です。`ReadFromMergeTree` のヒューリスティックは、レイアウトが不利な場合 (パーティション数が少なすぎる、多すぎる、またはパーティションサイズの偏りが大きい場合) には、この最適化を自動的に無効化します。これらのチェックを回避するには、`force_aggregate_partitions_independently` を参照してください。

<div id="allow_archive_path_syntax">
  ## allow\_archive\_path\_syntax
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "1"},{"label": "アーカイブパス構文を無効にできるようにする新しい設定が追加されました。"}]}, {"id": "row-2","items": [{"label": "24.5"},{"label": "1"},{"label": "アーカイブパス構文を無効にできるようにする新しい設定が追加されました。"}]}]} />

File/S3 エンジン/テーブル関数では、アーカイブの拡張子が正しい場合、'::' を含むパスを `<archive> :: <file>` として解析します。

<div id="allow_asynchronous_read_from_io_pool_for_merge_tree">
  ## allow\_asynchronous\_read\_from\_io\_pool\_for\_merge\_tree
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

MergeTree テーブルからの読み取りにバックグラウンド I/O プールを使用します。この設定により、I/O 律速のクエリではパフォーマンスが向上する場合があります。

<div id="allow_calculating_subcolumns_sizes_for_merge_tree_reading">
  ## allow\_calculating\_subcolumns\_sizes\_for\_merge\_tree\_reading
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "読み取りタスクの分割を改善するため、MergeTree 読み取り時のサブカラムサイズの計算を許可"}]}]} />

有効にすると、ClickHouse は各サブカラムの読み取りに必要なファイルサイズを計算し、タスクサイズとブロックサイズをより適切に算出します。

<div id="allow_changing_replica_until_first_data_packet">
  ## allow\_changing\_replica\_until\_first\_data\_packet
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

有効な場合、ヘッジドリクエストでは、すでにある程度 Progress が進んでいても、最初の Data パケットを受信するまで新しい接続を開始できます
(ただし、`receive_data_timeout` のタイムアウト時間内に Progress が更新されていない場合に限ります) 。無効な場合は、最初に Progress が進んだ時点以降、レプリカの切り替えは行われません。

<div id="allow_create_index_without_type">
  ## allow\_create\_index\_without\_type
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

TYPE を指定しない CREATE INDEX クエリを許可します。このクエリは無視されます。SQL 互換性テストのための設定です。

<div id="allow_custom_error_code_in_throwif">
  ## allow\_custom\_error\_code\_in\_throwif
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

関数 throwIf() でカスタムエラーコードを有効にします。true の場合、送出される例外に想定外のエラーコードが付与されることがあります。

<div id="allow_ddl">
  ## allow\_ddl
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

true に設定すると、ユーザーは DDL クエリを実行できます。

<div id="allow_delta_kernel_rs">
  ## allow\_delta\_kernel\_rs
</div>

<BetaBadge />

**別名**: `allow_experimental_delta_kernel_rs`

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "1"},{"label": "`allow_experimental_delta_kernel_rs` の新しい名前です。実験的な機能ではなくなりましたが、同名は別名として維持されます。デフォルト値は変更されていません。"}]}, {"id": "row-2","items": [{"label": "25.5"},{"label": "1"},{"label": "新しい設定。`allow_experimental_delta_kernel_rs` という名前で導入され、現在はその別名となっています。履歴全体を維持するため、この行は正規名のもとに引き継がれています。"}]}]} />

Delta Lake テーブルの読み取りに `delta-kernel-rs` 実装を使用できるようにします。

<div id="allow_distinct_partitions_independently">
  ## allow\_distinct\_partitions\_independently
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "1"},{"label": "パーティション式が `DISTINCT` カラムの決定論的関数である場合に、パーティションごとの `DISTINCT` を独立して評価できるようにする新しい設定。"}]}]} />

パーティション式が `DISTINCT` カラムの決定論的関数である場合、ストリーム間のマージを省略し、パーティションごとの `DISTINCT` を別スレッドで独立して評価します。パーティション数がコア数に近く、各パーティションのサイズがほぼ同じ場合に有効です。それ以外の場合は、コストヒューリスティックによりこの最適化は省略されます。[max\_number\_of\_partitions\_for\_independent\_distinct](/ja/reference/settings/session-settings/max-number#max_number_of_partitions_for_independent_distinct) および [force\_distinct\_partitions\_independently](/ja/reference/settings/session-settings/force#force_distinct_partitions_independently) を参照してください。`FINAL` または並列レプリカでは適用されません。

[max\_rows\_in\_distinct](/ja/reference/settings/session-settings/max-rows#max_rows_in_distinct) または [max\_bytes\_in\_distinct](/ja/reference/settings/session-settings/max-bytes#max_bytes_in_distinct) が設定されている場合は適用されません。これらの上限は、マージ後の結果全体を対象とする単一の `DISTINCT` 変換によって適用されるため、グローバルな意味を維持するためにストリーム間のマージは保持されます。

<div id="allow_distributed_ddl">
  ## allow\_distributed\_ddl
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

これを true に設定すると、ユーザーは分散 DDL クエリを実行できます。

<div id="allow_drop_detached">
  ## allow\_drop\_detached
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

ALTER TABLE ... DROP DETACHED PART\[ITION] ... クエリの実行を許可します

<div id="allow_dynamic_type_in_join_keys">
  ## allow\_dynamic\_type\_in\_join\_keys
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": "0"},{"label": "デフォルトでは JOIN キーでの Dynamic 型の使用を許可しない"}]}]} />

JOIN キーで Dynamic 型を使用できるようにします。互換性のために追加された設定です。他の型との比較で予期しない結果になる可能性があるため、JOIN キーで Dynamic 型を使用することは推奨されません。

<div id="allow_execute_multiif_columnar">
  ## allow\_execute\_multiif\_columnar
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

multiIf 関数の列指向実行を許可する

<div id="allow_fuzz_query_functions">
  ## allow\_fuzz\_query\_functions
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "fuzzQuery 関数を有効にする新しい設定。"}]}]} />

クエリ文字列に対して AST にランダムな変更を加える `fuzzQuery` 関数を有効にします。

<div id="allow_general_join_planning">
  ## allow\_general\_join\_planning
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "ハッシュ結合アルゴリズムが有効な場合に、より汎用的な JOIN 計画アルゴリズムを使用できるようにします。"}]}]} />

より複雑な条件を処理できる、より汎用的な JOIN 計画アルゴリズムを使用できるようにしますが、これはハッシュ結合でのみ機能します。ハッシュ結合が有効でない場合は、この設定の値に関係なく、通常の JOIN 計画アルゴリズムが使用されます。

<div id="allow_get_client_http_header">
  ## allow\_get\_client\_http\_header
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "新しい関数が導入されました。"}]}]} />

現在の HTTP リクエストのヘッダー値を取得できる関数 `getClientHTTPHeader` の使用を許可します。`Cookie` などの一部のヘッダーには機密情報が含まれる可能性があるため、セキュリティ上の理由からデフォルトでは有効になっていません。なお、`X-ClickHouse-*`、`Authentication`、`Authorization` の各ヘッダーは常に制限されており、この関数では取得できません。

<div id="allow_hyperscan">
  ## allow\_hyperscan
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Hyperscan ライブラリを使用する関数を許可します。コンパイルに長時間かかったり、リソースを過剰に消費したりする可能性を避けるには、無効にしてください。

<div id="allow_iceberg_remove_orphan_files">
  ## allow\_iceberg\_remove\_orphan\_files
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "Iceberg の孤立ファイルの削除を制御する新しい設定"}]}]} />

Iceberg テーブルで 'ALTER TABLE ... EXECUTE remove\_orphan\_files()' を使用できるようにします。

<div id="allow_insert_into_iceberg">
  ## allow\_insert\_into\_iceberg
</div>

<BetaBadge />

**別名**: `allow_experimental_insert_into_iceberg`

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "Iceberg への insert がベータに移行しました"}]}, {"id": "row-2","items": [{"label": "25.7"},{"label": "0"},{"label": "新しい設定"}]}]} />

Iceberg に対する `insert` クエリの実行を許可します。

<div id="allow_introspection_functions">
  ## allow\_introspection\_functions
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

クエリのプロファイリングで使用する[イントロスペクション関数](/ja/reference/functions/regular-functions/introspection)を有効または無効にします。

設定可能な値:

* 1 — イントロスペクション関数が有効。
* 0 — イントロスペクション関数が無効。

**関連項目**

* [Sampling Query Profiler](/ja/concepts/features/performance/troubleshoot/sampling-query-profiler)
* システムテーブル [trace\_log](/ja/reference/system-tables/trace_log)

<div id="allow_key_condition_coalesce_rewrite">
  ## allow\_key\_condition\_coalesce\_rewrite
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1"},{"label": "`coalesce(a_1, ..., a_N) <op> const` 形式の述語（および同等の `ifNull`、または定数が左辺にある場合）を、索引解析の前に選言へ書き換えるための新しい設定です。これにより、各 `a_i` のカラムごとの主キーおよびスキップ索引を利用できます。`coalesce(a, 42, b)` や `coalesce(a, b, 42)` のような、一部が定数の形式も処理されます。"}]}]} />

`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 の枝刈りはサポートされていません。

<div id="allow_limit_by_partitions_independently">
  ## allow\_limit\_by\_partitions\_independently
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1"},{"label": "パーティション式が `LIMIT BY` カラムの決定論的関数である場合に、パーティションごとに独立して `LIMIT BY` を評価できるようにする新しい設定。"}]}]} />

パーティション式が `LIMIT BY` カラムの決定論的関数である場合、別個のスレッドでパーティションごとに独立して `LIMIT BY` を評価できるようにします。

<div id="allow_lossy_numeric_supertype">
  ## allow\_lossy\_numeric\_supertype
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "0"},{"label": "損失のない共通型を持たないすべて数値型の分岐（例: Decimal + Float64）について、if\/multiIf\/coalesce\/ifNull\/array\/map が数値スーパータイプ（Float64、精度が失われる可能性あり）に解決できるようにする新しい設定です。これにより、結果を集計できます。use_variant_as_common_type とは独立しています。これがオフの場合、このような分岐は以前は NO_COMMON_TYPE となり、オンの場合は Variant になっていましたが、現在はいずれの場合も Float64 に解決されます。"}]}]} />

有効にすると、損失のない共通型を持たない数値引数のセット (たとえば `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` になります。

<div id="allow_materialized_view_with_bad_select">
  ## allow\_materialized\_view\_with\_bad\_select
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "0"},{"label": "存在しないカラムまたはテーブルを参照する MV の作成を許可しない"}]}, {"id": "row-2","items": [{"label": "24.9"},{"label": "1"},{"label": "CREATE MATERIALIZED VIEW でのより厳格な検証をサポート（ただし、まだ有効にはしない）"}]}]} />

存在しないテーブルまたはカラムを参照する SELECT query を含む CREATE MATERIALIZED VIEW を許可します。ただし、構文的には有効である必要があります。refreshable MVs には適用されません。また、MV のスキーマを SELECT query から推論する必要がある場合にも適用されません (つまり、CREATE にカラムリストがなく、TO table もない場合です) 。ソーステーブルより前に MV を作成する際に使用できます。

<div id="allow_metadata_only_named_tuple_alter">
  ## allow\_metadata\_only\_named\_tuple\_alter
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "0"},{"label": "名前付き Tuple へのサブフィールド追加に対するメタデータのみの ALTER を制御する新しい設定。"}]}]} />

true の場合、名前付き Tuple に新しいサブフィールドを追加するだけの ALTER MODIFY COLUMN は、メタデータのみを変更します (データ mutation は実行されません) 。
false に設定すると、従来の完全 mutation の動作を強制します。

<div id="allow_minmax_index_for_json">
  ## allow\_minmax\_index\_for\_json
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "索引のシリアライゼーション処理では JSON カラムに含まれる可能性がある異種の Field 値を扱えないため、デフォルトで JSON カラムへの minmax スキップ索引の作成を禁止"}]}]} />

JSON (Object) カラムに対する minmax スキップ索引の作成を許可します。デフォルトでは無効です。これは、minmax
索引のシリアライゼーション処理では、JSON カラムに含まれる可能性がある異種の Field 値を扱えないためです。

<div id="allow_named_collection_override_by_default">
  ## allow\_named\_collection\_override\_by\_default
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

デフォルトで named collections のフィールドの上書きを許可します。

<div id="allow_non_metadata_alters">
  ## allow\_non\_metadata\_alters
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

テーブルのメタデータだけでなく、ディスク上のデータにも影響するalterの実行を許可します

<div id="allow_nonconst_timezone_arguments">
  ## allow\_nonconst\_timezone\_arguments
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.4"},{"label": "0"},{"label": "toTimeZone()、fromUnixTimestamp*()、snowflakeToDateTime*() などの一部の時刻関連関数で、非定数のタイムゾーン引数を許可します。"}]}]} />

toTimeZone()、fromUnixTimestamp\*()、snowflakeIDToDateTime\*() などの一部の時刻関連関数で、非定数のタイムゾーン引数を許可します。
この設定は、互換性のためだけに存在します。ClickHouse では、タイムゾーンはデータ型、すなわちカラムのプロパティです。
この設定を有効にすると、1 つのカラム内の値ごとに異なるタイムゾーンを持てるかのような、誤った印象を与えます。
したがって、この設定は有効にしないでください。

<div id="allow_nullable_tuple_in_extracted_subcolumns">
  ## allow\_nullable\_tuple\_in\_extracted\_subcolumns
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "抽出された Tuple サブカラムを Nullable にできるかどうかを制御する新しい設定。"}]}]} />

`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` を更新し、サーバーを再起動してください。

<div id="allow_rank_dense_rank_arguments">
  ## allow\_rank\_dense\_rank\_arguments
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "新しい設定。26.5 より前では、`RANK` および `DENSE_RANK` ウィンドウ関数は、指定された引数を暗黙的に無視していました（`allow_rank_dense_rank_arguments = 1` と同等）。26.5 以降は、SQL 標準ではこれらの関数は引数を取らないため、デフォルトで引数を拒否し、`NUMBER_OF_ARGUMENTS_DOESNT_MATCH` を返します。従来の動作を復元するには、これを `1` に設定してください。"}]}]} />

後方互換性のため、`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 より前と同様に引数は黙って無視されます。

<div id="allow_reorder_prewhere_conditions">
  ## allow\_reorder\_prewhere\_conditions
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1"},{"label": "新しい設定"}]}]} />

条件をWHEREからPREWHEREに移動する際に、フィルタリングを最適化するため条件の並び順の変更を許可します

<div id="allow_replace_partition_from_empty_source">
  ## allow\_replace\_partition\_from\_empty\_source
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "新しい安全性チェック: `ALTER TABLE ... REPLACE PARTITION ... FROM ...` は、ソーステーブルの対象パーティションにパーツが存在しない場合、例外をスローするようになりました（[#23727](https:\/\/github.com\/ClickHouse\/ClickHouse\/issues\/23727) のサイレントなデータ損失を修正）。従来の動作である宛先パーティションのサイレントな削除は、`allow_replace_partition_from_empty_source = 1` を設定することで維持されます。"}]}]} />

ソースのそのパーティションにパーツが存在しない場合でも、`ALTER TABLE ... REPLACE PARTITION ... FROM ...` で宛先パーティションをサイレントに削除できるようにします。

デフォルトでは、これは許可されていません。要求されたパーティションにデータがないソースから `REPLACE PARTITION` を実行すると、例外が発生します。これは、この操作が実質的に宛先に対するサイレントな `DROP PARTITION` になるためです (宛先のデータは削除されますが、それを置き換えるデータはありません) 。これは、意図しないデータ損失の一般的な原因です ([#23727](https://github.com/ClickHouse/ClickHouse/issues/23727) を参照) 。

たとえば、宛先のデータを消去するために意図的に空のソースパーティションを使う場合は、この設定を有効にすると従来の動作に戻せます。無条件に削除したい場合は、代わりに `ALTER TABLE ... DROP PARTITION ...` を使用してください。

<div id="allow_settings_after_format_in_insert">
  ## allow\_settings\_after\_format\_in\_insert
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.4"},{"label": "0"},{"label": "ClickHouse が SETTINGS を値の一部として解釈してしまい、紛らわしいため、INSERT クエリでは FORMAT の後に SETTINGS を許可しません"}]}]} />

`INSERT` クエリで、`FORMAT` の後に `SETTINGS` を許可するかどうかを制御します。`SETTINGS` の一部が値として解釈される可能性があるため、この設定の使用は推奨されません。

例:

```sql theme={null}
INSERT INTO FUNCTION null('foo String') SETTINGS max_threads=1 VALUES ('bar');
```

ただし、次のクエリは `allow_settings_after_format_in_insert` が有効な場合にのみ動作します:

```sql theme={null}
SET allow_settings_after_format_in_insert=1;
INSERT INTO FUNCTION null('foo String') VALUES ('bar') SETTINGS max_threads=1;
```

設定可能な値:

* 0 — 不可。
* 1 — 許可。

<Note>
  古い構文に依存するユースケースがある場合に限り、後方互換性のためにこの設定を使用してください。
</Note>

<div id="allow_simdjson">
  ## allow\_simdjson
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

AVX2 命令が利用可能な場合に、`JSON*` 関数で simdjson ライブラリを使用できるようにします。無効にすると、rapidjson が使用されます。

<div id="allow_special_serialization_kinds_in_output_formats">
  ## allow\_special\_serialization\_kinds\_in\_output\_formats
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "一部の出力フォーマットで、Sparse/Replicated のような特殊なカラム表現を直接出力できるようにする"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "0"},{"label": "Sparse/Replicated のような特殊なカラム表現を、フルカラム表現に変換せずに出力できるようにする設定を追加"}]}]} />

Sparse や Replicated のような特殊なシリアライゼーション種別を持つカラムを、フルカラム表現に変換せずに出力できるようにします。
これにより、フォーマット処理時の不要なデータコピーを避けられます。

<div id="allow_unrestricted_reads_from_keeper">
  ## allow\_unrestricted\_reads\_from\_keeper
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

system.zookeeper table から無制限に (path に条件を指定せずに) 読み取ることを許可します。便利な場合もありますが、ZooKeeper に対して安全ではありません。
