> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# output_format_* フォーマット設定

> output_format_* として生成されるグループ内の ClickHouse フォーマット設定。

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>;
};

これらの設定は、[source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/FormatFactorySettings.h) から自動生成されています。

## output\_format\_always\_write\_decimal\_point\_in\_float\_and\_decimal

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "浮動小数点数および Decimal 型の数値について、値が整数であってもテキストフォーマットでは常に小数点を出力する新しい設定。"}]}]} />

値が整数であっても、浮動小数点数および Decimal 型の数値では、テキストフォーマットで常に小数点を出力します。たとえば、`1` ではなく `1.` を出力します。

デフォルトでは無効です。

## output\_format\_arrow\_compression\_method

<SettingsInfoBlock type="ArrowCompression" default_value="lz4_frame" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.3"},{"label": "lz4_frame"},{"label": "デフォルトで Arrow 出力フォーマットに lz4 圧縮を使用"}]}]} />

Arrow 出力フォーマットの圧縮方式。サポートされているコーデック: lz4\_frame、zstd、none (非圧縮)

## output\_format\_arrow\_date\_as\_uint16

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "既定では、Date の値は通常の UInt16 ではなく、Arrow DATE32 として書き込まれます。"}]}]} />

Date の値を、32 ビットの Arrow DATE32 型 (読み戻し時は Date32) に変換する代わりに、通常の 16 ビット数値 (読み戻し時は UInt16) として書き込みます。

## output\_format\_arrow\_fixed\_string\_as\_fixed\_byte\_array

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.2"},{"label": "1"},{"label": "デフォルトで、FixedString に Arrow FIXED_SIZE_BINARY 型を使用"}]}]} />

FixedString 型のカラムでは、Binary ではなく Arrow FIXED\_SIZE\_BINARY 型を使用します。

## output\_format\_arrow\_low\_cardinality\_as\_dictionary

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

出力時に LowCardinality 型を Dictionary Arrow 型として有効にします

## output\_format\_arrow\_record\_batch\_size

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "0"},{"label": "`Arrow` および `ArrowStream` 出力で、小さなブロックを目標行数に基づいて結合する新しい設定。デフォルトの `0` では、ブロックごとに1つのレコードバッチが保持されます。"}]}]} />

`Arrow` および `ArrowStream` 出力フォーマットにおけるレコードバッチあたりの目標行数です。小さなブロックを結合することで、特に選択性の高いフィルタを含むクエリで、メタデータおよびバッファのパディングに伴うオーバーヘッドを削減できます。

この目標値または [output\_format\_arrow\_record\_batch\_size\_bytes](/ja/reference/settings/formats/output-format#output_format_arrow_record_batch_size_bytes) に達するまで、ブロックは蓄積されます。すでに行数またはバイト数の目標を満たしているブロックは、分割せずに個別に書き込まれます。行数の目標を設定した場合、結合後のbatchの行数はその値の2倍未満になりますが、単一の入力ブロックがそれを超える場合があります。

ブロックをバッファリングすると、メモリ使用量が増加し、出力が遅延する場合があります。結果がどちらの目標にも達しない場合、`ArrowStream` はクエリの完了時まで最初のレコードバッチを書き込みませんが、スキーマはそれより前に書き込むことができます。ブロックの到着時にレコードバッチを書き込むには、両方の目標を `0` のままにしてください。

`0` (デフォルト) は行数の目標を無効にします。まずは `65409` を試してください。

## output\_format\_arrow\_record\_batch\_size\_bytes

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "0"},{"label": "`Arrow` および `ArrowStream` 出力で、小さなブロックを蓄積データのバイト単位の目標サイズに基づいて結合するための新しい設定。デフォルトの `0` では、ブロックごとに 1 つのレコードバッチが維持されます。"}]}]} />

`Arrow` および `ArrowStream` 出力フォーマットにおけるレコードバッチの目標サイズ。蓄積されたブロックデータのバイト数で指定します。[min\_insert\_block\_size\_bytes](/ja/reference/settings/session-settings/min-insert#min_insert_block_size_bytes) と同じ基準で測定されます。この目標値または [output\_format\_arrow\_record\_batch\_size](/ja/reference/settings/formats/output-format#output_format_arrow_record_batch_size) のいずれかに達すると、バッチが書き込まれます。

`LowCardinality` カラムでは、このバイト数の目標値を大幅に上回る、または下回る Arrow バッチが生成される場合があります。[output\_format\_arrow\_low\_cardinality\_as\_dictionary](/ja/reference/settings/formats/output-format#output_format_arrow_low_cardinality_as_dictionary) が有効でない限り、繰り返し値は出力時に展開されます。フィルタされたブロックにも大きな辞書が保持されることがあるため、行数がごく少ないブロックでも目標値に達し、個別に書き込まれる場合があります。これらのカラムでは、[output\_format\_arrow\_record\_batch\_size](/ja/reference/settings/formats/output-format#output_format_arrow_record_batch_size) で行数を制御し、バイト数の目標値を `0` に設定してください。

ブロックをバッファリングすると、メモリ使用量が増加し、クエリが完了するまで最初のレコードバッチの書き込みが遅れる場合があります。ブロックの到着に合わせてレコードバッチを書き込むには、両方の目標値を `0` のままにしてください。

`0` (デフォルト) を指定すると、バイト数の目標値は無効になります。まずは `1048576` (1 MiB) を試してください。

## output\_format\_arrow\_string\_as\_string

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "ClickHouse では、通常は UTF-8 として扱われる String データ型に任意のバイナリデータを格納できます。Parquet\/ORC\/Arrow の String は UTF-8 のみをサポートしています。そのため、ClickHouse の String データ型に対して使用する Arrow のデータ型として、String と Binary のどちらを使うかを選択できます。より正確で互換性が高いのは Binary ですが、多くの場合、デフォルトで String を使用するほうがユーザーの期待に沿います。"}]}]} />

String 型のカラムには、Binary ではなく Arrow String 型を使用します

## output\_format\_arrow\_unsupported\_types

<SettingsInfoBlock type="ArrowUnsupportedTypes" default_value="binary" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.10"},{"label": "binary"},{"label": "`output_format_arrow_unsupported_types_as_binary` に代わる新しい設定で、`text` モードを追加します。デフォルトは従来の動作と同じであるため、`compatibility` で変更してはなりません。"}]}]} />

ファーストクラスの Arrow マッピングがない型 (例: `JSON`、`Dynamic`、`QBit`、`AggregateFunction`) のカラムに何を書き込むかを指定します。

* `throw` — クエリを拒否します。
* `text` — 行ごとに 1 つのテキスト形式の値 (`CAST(col AS String)` が生成する値) を、Arrow の `Utf8` カラムとして出力します。
* `binary` — 各値のバイナリ表現を、Arrow の `Binary` カラムとして出力します (値ごとのエンコーディングは `RowBinary` と同じです) 。

`AggregateFunction` カラムは、`text` モードでも `Binary` になります。テキスト形式がテキストではなく生の集約状態であり、Arrow の `Utf8` カラムには有効な UTF-8 を格納する必要があるためです。読み取り可能な値を取得するには、`finalizeAggregation` を使用してください。

`Utf8` カラムに書き込まれる値は、有効な UTF-8 になるように処理され、無効なシーケンスはそれぞれ U+FFFD に置換されます。これは、いずれにせよリーダーがテキストとして解釈できないテキストにのみ影響します。たとえば、任意のバイト列を含む `String` を保持する `Dynamic` が該当します。バイト列を完全に保持する必要がある場合は、`binary` モードを使用してください。

`output_format_arrow_string_as_string` はこれらのカラムには適用されず、実際の `String` および `FixedString` カラムにのみ適用されます。これにより、不透明なカラムの Arrow 型は保持するエンコーディングを示します。つまり、その設定の値にかかわらず、`Utf8` はテキスト形式、`Binary` はバイナリ形式を表します。

同じことが `Dynamic` に保持された集約状態にも当てはまります。カラムの型は `Dynamic` に基づきますが、`Dynamic` は各行が何を保持しているかを示しません。また、Arrow スキーマは値を確認する前に固定されるため、`AggregateFunction` カラムのように、その状態専用の `Binary` カラムを与えることはできません。したがって、`text` モードでは情報が失われます。`binary` モードでは保持されます。`Variant` は影響を受けません。代替型が列挙されるため、その中の `AggregateFunction` には専用の `Binary` 子カラムが割り当てられます。

`text` と `binary` のどちらでも、フィールドには Arrow スキーマ内で `clickhouse.opaque` 拡張名と元の ClickHouse 型名のタグが付与されます。これにより、リーダーは本物の文字列カラムやバイナリカラムと区別できます。

ClickHouse がこのようなカラムをタグで指定された型に読み戻すのは、読み取り側がすでにその型を認識している場合に限られます。たとえば、テーブルでその型が宣言されている場合や、`file` および `s3` が受け取る structure argument でその型が指定されている場合です。この処理は、`Array`、`Tuple`、`Map`、`Nullable` 内でも行われます。スキーマ推論ではタグを参照しないため、型名を指定せずに読み取ったカラムは、生の payload を保持する `String` として読み込まれます。`Variant` の代替型は、型名を指定しても読み戻されません。代替型から構成される Arrow union は、タグを参照せずにデコードされるためです。書き込まれるデータは、いずれの場合も他の Arrow リーダーにとって正しい形式です。

古い `output_format_arrow_unsupported_types_as_binary` より優先されます。この古い設定は、この設定がデフォルトのままの場合にのみ参照されます。

## output\_format\_arrow\_unsupported\_types\_as\_binary

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1"},{"label": "サポートされていない CH 型を、UNKNOWN_TYPE exception ではなく Arrow の binary に変換するための新しい設定。"}]}]} />

変換できない出力型を、生の binary data として出力します。false の場合、そのような型では例外が発生します。

`output_format_arrow_unsupported_types` により置き換えられました。`0` は `throw` を、`1` は `binary` を意味します。`output_format_arrow_unsupported_types` が明示的に設定されていない場合にのみ参照されます。

## output\_format\_arrow\_use\_64\_bit\_indexes\_for\_dictionary

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "0"},{"label": "Arrow の辞書で 64 ビット索引型を使用できるようにします"}]}, {"id": "row-2","items": [{"label": "24.1"},{"label": "0"},{"label": "Arrow の辞書で 64 ビット索引型を使用できるようにします"}]}]} />

Arrow フォーマットの辞書索引には、常に 64 ビット整数を使用します

## output\_format\_arrow\_use\_signed\_indexes\_for\_dictionary

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "1"},{"label": "推奨されているため、デフォルトで Arrow format の辞書に符号付きの索引型を使用する"}]}]} />

Arrow format の辞書の索引に符号付き整数を使用します

## output\_format\_avro\_codec

出力時に使用する圧縮コーデック。設定可能な値: 'null', 'deflate', 'snappy', 'zstd'。

## output\_format\_avro\_confluent\_subject

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": ""},{"label": "AvroConfluent 形式で出力する際に、Confluent スキーマレジストリでのスキーマ登録に使用する subject 名を指定するための新しい設定。"}]}]} />

AvroConfluent 出力フォーマット用: Confluent スキーマレジストリでスキーマを登録する際の subject 名です。AvroConfluent 形式で出力する場合に必須です。

## output\_format\_avro\_rows\_in\_file

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

1ファイルあたりの最大行数 (ストレージが許可している場合)

## output\_format\_avro\_string\_column\_pattern

Avro フォーマットの場合: AVRO 文字列として選択する String 型のカラムを指定する正規表現。

## output\_format\_avro\_sync\_interval

<SettingsInfoBlock type="UInt64" default_value="16384" />

バイト単位で指定する同期間隔。

## output\_format\_binary\_encode\_types\_in\_binary\_format

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "0"},{"label": "RowBinaryWithNamesAndTypes 出力フォーマットで型名をバイナリ形式で書き込めるようにする新しい設定を追加"}]}]} />

RowBinaryWithNamesAndTypes 出力フォーマットで、型名の代わりにデータ型をバイナリ形式で書き込みます

## output\_format\_binary\_write\_json\_as\_string

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "0"},{"label": "RowBinary 出力フォーマットで [JSON](/reference/data-types/newjson) 型の値を JSON [String](/reference/data-types/string) 値として書き込むための新しい設定を追加"}]}]} />

[JSON](/ja/reference/data-types/newjson) 型の値を、RowBinary 出力フォーマットでは JSON [String](/ja/reference/data-types/string) 値として書き込みます。

## output\_format\_bson\_string\_as\_string

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

String 型のカラムでは、Binary ではなく BSON String 型を使用します。

## output\_format\_compression\_level

<SettingsInfoBlock type="UInt64" default_value="3" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "3"},{"label": "クエリ出力の圧縮レベルを変更できるようになりました"}]}]} />

クエリ出力が圧縮される場合のデフォルトの圧縮レベルです。この設定は、`SELECT` クエリで `INTO OUTFILE` を使用する場合、またはテーブル関数 `file`、`url`、`hdfs`、`s3`、`azureBlobStorage` に書き込む場合に適用されます。

設定可能な値: `1` ～ `22`

## output\_format\_compression\_zstd\_window\_log

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "0"},{"label": "zstd 圧縮の使用時に、クエリ出力で zstd の window log を変更できるようになりました"}]}]} />

出力の圧縮方式が `zstd` の場合に使用できます。`0` より大きい値を指定すると、この設定により圧縮ウィンドウサイズ (`2` の累乗) が明示的に設定され、zstd 圧縮の long-range モードが有効になります。これにより、圧縮率が向上する場合があります。

設定可能な値: 0 以上の数値。値が小さすぎたり大きすぎたりすると、`zstdlib` は例外をスローします。一般的な値は `20` (window size = `1MB`) から `30` (window size = `1GB`) です。

## output\_format\_csv\_crlf\_end\_of\_line

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

これを true に設定すると、CSV フォーマットの行末は \n ではなく \r\n になります。

## output\_format\_csv\_header\_serialize\_tuple\_into\_separate\_columns

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1"},{"label": "新しい設定。output_format_csv_serialize_tuple_into_separate_columns が有効な場合、CSVWithNames\/CSVWithNamesAndTypes のヘッダーは Tuple カラムをその leaf フィールドにフラット化し、ヘッダーの幅がデータと一致するようになりました。以前の単一名ヘッダーに戻すには false に設定します。"}]}]} />

[output\_format\_csv\_serialize\_tuple\_into\_separate\_columns](/ja/reference/settings/formats/output-format#output_format_csv_serialize_tuple_into_separate_columns) が有効な場合、`CSVWithNames` と `CSVWithNamesAndTypes` のヘッダー行では、各単体の `Tuple` カラムがその leaf フィールド (`t.a`、`t.b` のようなドット区切りの名前と、leaf の型名) にフラット化されるため、ヘッダーのカラム数はデータと同じになります。`Nullable(Tuple)` カラムはフラット化されることがなく (データは単一の CSV フィールドのまま)、そのためヘッダーでも単一のトップレベルのカラム名と型が保持されます。`CustomSeparated*` では、このフラット化は `format_custom_escaping_rule = 'CSV'` かつ `format_custom_field_delimiter` が `format_csv_delimiter` と同じ単一文字である場合にのみ適用されます。それ以外の場合 (たとえばデフォルトのタブ区切り文字や `format_custom_field_delimiter = '|'`) では、ヘッダーはフラット化されないままとなり、引き続きデータと一致します。ヘッダーが単一のトップレベル Tuple 名と型を保持する以前の動作のままにするには、`0` に設定します。

注意: `input_format_with_names_use_header = 1` の場合、フラット化されたヘッダーは名前に基づいて Tuple に読み戻されません。このようなデータを Tuple に読み戻すには、出力時にこの設定を `0` にするか、`input_format_with_names_use_header = 0` を指定して読み込んでください (さらに、`*WithNamesAndTypes` フォーマットである `CSVWithNamesAndTypes` と `CustomSeparatedWithNamesAndTypes` では、`input_format_with_types_use_header = 0` も必要です。これを設定しないと、フラット化された型の行が単一のトップレベル Tuple 入力フィールドに対して検証され、拒否されます) 。

## output\_format\_csv\_serialize\_tuple\_into\_separate\_columns

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "1"},{"label": "CSVフォーマットでの Tuple の新しい解釈方法が追加されました。"}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "CSVフォーマットでの Tuple の新しい解釈方法が追加されました。"}]}]} />

true に設定すると、CSVフォーマットの単体の `Tuple` カラムは個別のカラムとしてシリアライズされます (つまり、Tuple 内のネスト構造は失われます)。

このフラット化は、単体の `Tuple` にのみ適用されます。`Nullable(Tuple)` は、この設定に関係なく、常に 1 つの CSV フィールドとしてシリアライズされます (そのため、NULL の行と非 NULL の行でフィールド数は常に同じになります)。

## output\_format\_decimal\_trailing\_zeros

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.9"},{"label": "0"},{"label": "出力の見栄えをよくするため、既定では Decimal 型のテキスト表現で末尾のゼロを出力しません"}]}]} />

Decimal 値を出力する際に、末尾のゼロも出力します。例: 1.23 ではなく 1.230000。

既定では無効です。

## output\_format\_float\_precision

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "浮動小数点出力の小数点以下の桁数を制御する新しい設定"}]}]} />

0 以外の場合、浮動小数点出力 (`Float32`、`Float64`、`BFloat16`) は、小数点以下の桁数が最大でこの値になるようにフォーマットされます (末尾のゼロは削除されます) 。
0 の場合 (デフォルト) は、最短の往復変換表現が使用されます。

固定小数点表記では大きすぎる値や、要求された精度に丸めるとすべての有効桁が失われてしまうほど絶対値の小さい値 (仮数が `±0` になる場合) は、代わりに指数表記で出力されます。こうしたフォールバック時には、仮数の小数点以下の桁数が要求された桁数を超えることがあります。

有効範囲: 0 から 100。

## output\_format\_image\_height

<SettingsInfoBlock type="UInt64" default_value="1024" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1024"},{"label": "PNG などの画像出力フォーマットにおける出力画像の高さを制御する新しい設定。"}]}]} />

`PNG` などの画像出力フォーマットでの出力画像の高さを、ピクセル単位で指定します。

デフォルト値: 1024。

## output\_format\_image\_streaming\_animation

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "0"},{"label": "画像出力フォーマット（`PNG` など）が、すべてのフレームをメモリにバッファリングする代わりに、`t` の次の値を検出するとすぐにアニメーションの各フレームを書き込むかどうかを制御する新しい設定。"}]}]} />

`PNG` などの画像出力フォーマットでは、クエリの終了までアニメーションのすべてのフレームをメモリにバッファリングする代わりに、`t` カラムの次の値を検出するとすぐに各フレームを書き込みます。

メモリに保持されるフレームは 1 つだけで、クエリの実行中にフレームが出力されます。その代わり、`t` の値は非減少である必要があります。そうでない場合、クエリは例外を送出します。また、アニメーションのヘッダーを書き込む時点ではフレーム数が不明なため、宣言されるフレーム数は正確な値ではなく上限値になります。ブラウザーはこのようなファイルを再生できますが、宣言されたフレーム数を信頼するデコーダは、実際の最後のフレームの後にエラーを報告します。

デフォルト値: `false`。

## output\_format\_image\_terminal\_mode

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": ""},{"label": "PNG などの画像出力フォーマットを、生の画像バイト列を書き出す代わりにインライン画像プロトコルを使って端末に直接描画するかどうかを制御する新しい設定。"}]}]} />

`PNG` などの画像出力フォーマットでは、生の画像バイト列を書き出す代わりに、インライン画像プロトコルを使って画像を端末に直接描画します。

設定可能な値:

* \`\` (空) — 生の画像バイト列を書き出します (デフォルト) 。
* `iterm` — iTerm2 のインライン画像プロトコルを使用します。
* `kitty` — Kitty の graphics プロトコルを使用します。
* `sixel` — Sixel プロトコルを使用します。
* `auto` — 出力先が端末の場合は、その対応機能を検出して `iterm`、`kitty`、`sixel` のいずれかを使用します (この順序) 。それ以外の場合は、生の画像バイト列を書き出します。

デフォルト値: \`\` (空)。

## output\_format\_image\_time\_divisor\_seconds

<SettingsInfoBlock type="UInt64" default_value="60" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "60"},{"label": "PNG などの画像出力フォーマットでアニメーションを生成する、`t` カラムの時間単位の分母を制御する新しい設定。"}]}]} />

`PNG` などの画像出力フォーマットにおける、`t` カラムの時間単位の分母 (秒) 。

[`output_format_image_time_multiplier_seconds`](/ja/reference/settings/formats/output-format#output_format_image_time_multiplier_seconds) を参照してください。

デフォルト値: 60。

## output\_format\_image\_time\_multiplier\_seconds

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "1"},{"label": "画像出力フォーマット（`PNG` など）でアニメーションを生成する `t` カラムの時間単位の分子を制御する新しい設定。"}]}]} />

`PNG` などの画像出力フォーマットにおける `t` カラムの時間単位の分子 (秒) 。

`t` カラムがある場合、このフォーマットはアニメーションを生成します。このとき、`t` はフレームの相対時間オフセットを表します。
`t` の 1 単位は、`output_format_image_time_multiplier_seconds / output_format_image_time_divisor_seconds` 秒に相当します。
デフォルト値 (`1` と `60`) では、`t` の 1 単位は 1/60 秒です。

デフォルト値: 1。

## output\_format\_image\_width

<SettingsInfoBlock type="UInt64" default_value="1024" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1024"},{"label": "PNG などの画像出力フォーマットでの出力画像の幅を制御する新しい設定。"}]}]} />

`PNG` などの画像出力フォーマットで出力される画像の幅 (ピクセル単位) です。

デフォルト値: 1024。

## output\_format\_json\_array\_of\_rows

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

[JSONEachRow](/ja/reference/formats/JSON/JSONEachRow)フォーマットで、すべての行を JSON array として出力する機能を有効にします。

設定可能な値:

* 1 — ClickHouse はすべての行を配列として出力し、各行は `JSONEachRow` フォーマットになります。
* 0 — ClickHouse は各行を `JSONEachRow` フォーマットで個別に出力します。

**この設定を有効にしたクエリの例**

クエリ:

```sql theme={null}
SET output_format_json_array_of_rows = 1;
SELECT number FROM numbers(3) FORMAT JSONEachRow;
```

結果:

```text theme={null}
[
{"number":"0"},
{"number":"1"},
{"number":"2"}
]
```

**設定を無効にしたクエリの例**

クエリ:

```sql theme={null}
SET output_format_json_array_of_rows = 0;
SELECT number FROM numbers(3) FORMAT JSONEachRow;
```

結果:

```text theme={null}
{"number":"0"}
{"number":"1"}
{"number":"2"}
```

## output\_format\_json\_escape\_forward\_slashes

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

JSON出力フォーマットで文字列を出力する際に、スラッシュをエスケープするかどうかを制御します。これは JavaScript との互換性のための設定です。常にエスケープされるバックスラッシュと混同しないでください。

デフォルトで有効です。

## output\_format\_json\_map\_as\_array\_of\_tuples

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

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

Map型のカラムを、TupleのJSON配列としてシリアライズします。

デフォルトでは無効です。

## output\_format\_json\_named\_tuples\_as\_objects

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.6"},{"label": "1"},{"label": "デフォルトで、JSON フォーマットで名前付きタプルを JSON オブジェクトとしてシリアライズできるようになりました"}]}]} />

名前付きタプル型のカラムを JSON オブジェクトとしてシリアライズします。

デフォルトで有効です。

## output\_format\_json\_pretty\_print

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "JSON 出力フォーマットで値をデフォルトで見やすい形式で出力する"}]}]} />

この設定は、JSON 出力フォーマットを使用する際に、`data` 配列内の Tuples、Maps、Arrays などのネストされた構造をどのように表示するかを決定します。

たとえば、次のように出力するのではなく:

```json theme={null}
"data":
[
  {
    "tuple": {"a":1,"b":2,"c":3},
    "array": [1,2,3],
    "map": {"a":1,"b":2,"c":3}
  }
],
```

出力は次のように表示されます:

```json theme={null}
"data":
[
    {
        "tuple": {
            "a": 1,
            "b": 2,
            "c": 3
        },
        "array": [
            1,
            2,
            3
        ],
        "map": {
            "a": 1,
            "b": 2,
            "c": 3
        }
    }
],
```

デフォルトで有効です。

## output\_format\_json\_quote\_64bit\_floats

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

JSON\* フォーマットで出力する際に、64 ビットの[floats](/ja/reference/data-types/float)を引用符で囲むかどうかを制御します。

デフォルトでは無効です。

## output\_format\_json\_quote\_64bit\_integers

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "0"},{"label": "デフォルトで JSON 内の 64 ビット整数をクォートしない"}]}]} />

[JSON](/ja/reference/formats/JSON/JSON)フォーマットで出力する際に、64 ビット以上の[整数](/ja/reference/data-types/int-uint) (`UInt64` や `Int128` など) をクォートするかどうかを制御します。
これらの整数は、デフォルトでクォートで囲まれます。この動作は、ほとんどの JavaScript 実装と互換性があります。

設定可能な値:

* 0 — 整数はクォートなしで出力されます。
* 1 — 整数はクォートで囲まれて出力されます。

## output\_format\_json\_quote\_decimals

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

JSON出力フォーマットで decimal 値を引用符で囲むかどうかを制御します。

デフォルトでは無効です。

## output\_format\_json\_quote\_denormals

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

[JSON](/ja/reference/formats/JSON/JSON) 出力フォーマットで `+nan`、`-nan`、`+inf`、`-inf` を出力するかどうかを指定します。

設定可能な値:

* 0 — 無効。
* 1 — 有効。

**例**

次のテーブル `account_orders` について考えます:

```text theme={null}
┌─id─┬─name───┬─duration─┬─period─┬─area─┐
│  1 │ Andrew │       20 │      0 │  400 │
│  2 │ John   │       40 │      0 │    0 │
│  3 │ Bob    │       15 │      0 │ -100 │
└────┴────────┴──────────┴────────┴──────┘
```

`output_format_json_quote_denormals = 0` の場合、クエリの出力では `null` 値が返されます:

```sql theme={null}
SELECT area/period FROM account_orders FORMAT JSON;
```

```json theme={null}
{
        "meta":
        [
                {
                        "name": "divide(area, period)",
                        "type": "Float64"
                }
        ],

        "data":
        [
                {
                        "divide(area, period)": null
                },
                {
                        "divide(area, period)": null
                },
                {
                        "divide(area, period)": null
                }
        ],

        "rows": 3,

        "statistics":
        {
                "elapsed": 0.003648093,
                "rows_read": 3,
                "bytes_read": 24
        }
}
```

`output_format_json_quote_denormals = 1` の場合、クエリは以下を返します:

```json theme={null}
{
        "meta":
        [
                {
                        "name": "divide(area, period)",
                        "type": "Float64"
                }
        ],

        "data":
        [
                {
                        "divide(area, period)": "inf"
                },
                {
                        "divide(area, period)": "-nan"
                },
                {
                        "divide(area, period)": "-inf"
                }
        ],

        "rows": 3,

        "statistics":
        {
                "elapsed": 0.000070241,
                "rows_read": 3,
                "bytes_read": 24
        }
}
```

## output\_format\_json\_skip\_null\_value\_in\_named\_tuples

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

名前付きタプルのカラムを JSON オブジェクトとしてシリアライズする際に、NULL 値を含むキーと値のペアをスキップします。これは output\_format\_json\_named\_tuples\_as\_objects が true の場合にのみ有効です。

## output\_format\_json\_validate\_utf8

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

JSON 出力フォーマットにおける UTF-8 シーケンスの検証を制御します。formats JSON/JSONCompact/JSONColumnsWithMetadata には影響せず、これらは常に UTF-8 を検証します。

デフォルトでは無効です。

## output\_format\_markdown\_escape\_special\_characters

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

有効にすると、Markdown の特殊文字をエスケープします。

[Common Mark](https://spec.commonmark.org/0.30/#example-12) では、エスケープ可能な特殊文字として次のものが定義されています。

```
! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
```

設定可能な値：

* 0 — 無効。
* 1 — 有効。

## output\_format\_msgpack\_uuid\_representation

<SettingsInfoBlock type="MsgPackUUIDRepresentation" default_value="ext" />

MsgPackフォーマットでUUIDを出力する際の形式。

## output\_format\_native\_encode\_types\_in\_binary\_format

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "0"},{"label": "Native 出力フォーマットで型名をバイナリ形式で書き込めるようにする設定を追加"}]}]} />

Native 出力フォーマットでは、型名の代わりにデータ型をバイナリ形式で書き込みます

## output\_format\_native\_use\_flattened\_dynamic\_and\_json\_serialization

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "0"},{"label": "Native format にフラット化された Dynamic/JSON シリアライゼーションを追加"}]}]} />

[JSON](/ja/reference/data-types/newjson) および [Dynamic](/ja/reference/data-types/dynamic) カラムのデータを、フラット化されたフォーマット (すべての型/パスを個別のサブカラムとして扱う) で書き込みます。

## output\_format\_native\_write\_json\_as\_string

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "0"},{"label": "Native formatでJSONカラムを単一のStringカラムとして書き込めるようにする新しい設定を追加"}]}]} />

[JSON](/ja/reference/data-types/newjson)カラムのデータを、デフォルトのネイティブJSONシリアライゼーションではなく、JSON文字列を含む[String](/ja/reference/data-types/string)カラムとして書き込みます。

## output\_format\_orc\_compression\_block\_size

<SettingsInfoBlock type="UInt64" default_value="262144" />

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

ORC出力フォーマットにおける圧縮ブロックのサイズ (バイト単位) 。

## output\_format\_orc\_compression\_method

<SettingsInfoBlock type="ORCCompression" default_value="zstd" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "zstd"},{"label": "Parquet\/ORC\/Arrow は、lz4 や zstd を含む多くの圧縮方式をサポートしています。ClickHouse はこれらすべての圧縮方式に対応しています。'duckdb' のように、より高速な `lz4` 圧縮方式をサポートしていないツールもあるため、デフォルトでは zstd を使用しています。"}]}, {"id": "row-2","items": [{"label": "23.3"},{"label": "lz4_frame"},{"label": "デフォルトで ORC 出力フォーマットに lz4 圧縮を使用"}]}]} />

ORC 出力フォーマットの圧縮方式。サポートされているコーデック: lz4, snappy, zlib, zstd, none (非圧縮)

## output\_format\_orc\_dictionary\_key\_size\_threshold

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "0"},{"label": "ORC 出力フォーマットの文字列カラムで、一意な値の数が非 NULL 行の総数に対するこの割合を超える場合、dictionary encoding は無効になります。そうでない場合は有効になります"}]}]} />

ORC 出力フォーマットの文字列カラムで、一意な値の数が非 NULL 行の総数に対するこの割合を超える場合、dictionary encoding は無効になります。そうでない場合は有効になります

## output\_format\_orc\_row\_index\_stride

<SettingsInfoBlock type="UInt64" default_value="10000" />

ORC出力フォーマットでの目標行索引ストライド

## output\_format\_orc\_string\_as\_string

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "ClickHouse では、通常 UTF-8 として扱われる String データ型に任意のバイナリデータを格納できます。一方、Parquet/ORC/Arrow の String は UTF-8 のみをサポートします。そのため、ClickHouse の String データ型に対して Arrow のどのデータ型を使うかを、String と Binary から選択できます。より正確で互換性が高いのは Binary ですが、デフォルトで String を使用したほうが、多くの場合、ユーザーの期待に沿います。"}]}]} />

String 型のカラムでは、Binary ではなく ORC String 型を使用します

## output\_format\_orc\_writer\_time\_zone\_name

<SettingsInfoBlock type="String" default_value="GMT" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "GMT"},{"label": "ORC ライター のタイムゾーン名を指定します。デフォルトの ORC ライター のタイムゾーンは GMT です。"}]}]} />

ORC ライター のタイムゾーン名を指定します。デフォルトの ORC ライター のタイムゾーンは GMT です。

## output\_format\_parallel\_formatting

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

データのフォーマットを並列で処理するかどうかを有効または無効にします。[TSV](/ja/reference/formats/TabSeparated/TabSeparated)、[TSKV](/ja/reference/formats/TabSeparated/TSKV)、[CSV](/ja/reference/formats/CSV/CSV)、[JSONEachRow](/ja/reference/formats/JSON/JSONEachRow) フォーマットでのみサポートされています。

設定可能な値:

* 1 — 有効。
* 0 — 無効。

## output\_format\_parquet\_batch\_size

<SettingsInfoBlock type="NonZeroUInt64" default_value="1024" />

この行数ごとにページサイズを確認します。平均的な値のサイズが数 KB を超えるカラムがある場合は、設定値を小さくすることを検討してください。

## output\_format\_parquet\_bloom\_filter\_bits\_per\_value

<SettingsInfoBlock type="Double" default_value="10.5" />

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

Parquet ブルームフィルタで、個々の一意な値に使用するビット数のおおよその目安です。推定偽陽性率：

* 6   ビット - 10%
* 10.5 ビット -  1%
* 16.9 ビット -  0.1%
* 26.4 ビット -  0.01%
* 41   ビット -  0.001%

## output\_format\_parquet\_bloom\_filter\_flush\_threshold\_bytes

<SettingsInfoBlock type="UInt64" default_value="134217728" />

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

Parquetファイル内でブルームフィルタをどこに配置するかを指定します。ブルームフィルタは、おおよそこのサイズごとにまとめて書き込まれます。具体的には、次のとおりです。

* 0 の場合、各行グループのブルームフィルタは、その行グループの直後に書き込まれます。
  * すべてのブルームフィルタの合計サイズより大きい場合、すべての行グループのブルームフィルタはメモリ内に蓄積され、その後ファイル末尾付近にまとめて書き込まれます。
  * それ以外の場合、ブルームフィルタはメモリ内に蓄積され、合計サイズがこの値を超えるたびに書き出されます。

## output\_format\_parquet\_compression\_method

<SettingsInfoBlock type="ParquetCompression" default_value="zstd" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "zstd"},{"label": "Parquet\/ORC\/Arrow は、lz4 や zstd を含む多くの圧縮方式をサポートしています。ClickHouse はこれらすべての圧縮方式をサポートしています。'duckdb' など一部のツールは、より高速な `lz4` 圧縮方式をサポートしていないため、デフォルトは zstd に設定されています。"}]}, {"id": "row-2","items": [{"label": "23.3"},{"label": "lz4"},{"label": "Parquet 出力フォーマットでは、デフォルトで lz4 圧縮を使用する"}]}]} />

Parquet 出力フォーマットの圧縮方式。サポートされるコーデック: snappy, lz4, brotli, zstd, gzip, none (非圧縮)

## output\_format\_parquet\_data\_page\_size

<SettingsInfoBlock type="UInt64" default_value="1048576" />

圧縮前の目標ページサイズ (バイト単位) 。

## output\_format\_parquet\_date\_as\_uint16

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "0"},{"label": "24.12 で導入された軽微な互換性破壊の変更に対応する互換性設定を追加しました。"}]}, {"id": "row-2","items": [{"label": "24.12"},{"label": "0"},{"label": "Date は単純な UInt16 ではなく Date32 として書き込まれます（Parquet で Date に最も近い 2 つの型です）。"}]}]} />

Date の値は、32 ビットの Parquet DATE 型に変換して書き込む (読み戻すと Date32) 代わりに、単純な 16 ビット数値として書き込みます (読み戻すと UInt16) 。

## output\_format\_parquet\_datetime\_as\_uint32

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "DateTime は UInt32 ではなく DateTime64(3) として書き込まれます（この 2 つは DateTime に最も近い Parquet 型です）。"}]}]} />

DateTime の値をミリ秒に変換して書き込む (読み戻し時は DateTime64(3)) 代わりに、生の Unix timestamp として書き込みます (読み戻し時は UInt32) 。

## output\_format\_parquet\_enum\_as\_byte\_array

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "デフォルトで、Enum をバイト配列として Parquet に書き込む"}]}, {"id": "row-2","items": [{"label": "25.7"},{"label": "0"},{"label": "Parquet の物理型 BYTE_ARRAY および論理型 ENUM を使用して Enum を書き込む"}]}]} />

Parquet の物理型 BYTE\_ARRAY および論理型 ENUM を使用して Enum を書き込む

## output\_format\_parquet\_fixed\_string\_as\_fixed\_byte\_array

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.2"},{"label": "1"},{"label": "デフォルトで FixedString に Parquet FIXED_LENGTH_BYTE_ARRAY 型を使用"}]}]} />

FixedString 型のカラムでは、Binary ではなく Parquet FIXED\_LEN\_BYTE\_ARRAY 型を使用します。

## output\_format\_parquet\_geometadata

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.7"},{"label": "1"},{"label": "Geoカラムの情報をParquetメタデータに書き込み、カラムをWKB形式でエンコードできるようにする新しい設定。"}]}]} />

Geoカラムの情報をParquetメタデータに書き込み、カラムをWKB形式でエンコードできるようにします。

## output\_format\_parquet\_max\_dictionary\_size

<SettingsInfoBlock type="UInt64" default_value="1048576" />

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

Dictionary のサイズがこのバイト数を超えた場合、Dictionary を使用しないエンコーディングに切り替えます。dictionary encoding を無効にするには、0 に設定します。

## output\_format\_parquet\_parallel\_encoding

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

Parquetのエンコードを複数スレッドで行います。

## output\_format\_parquet\_row\_group\_size

<SettingsInfoBlock type="UInt64" default_value="1000000" />

行数で指定する目標の行グループサイズ。

## output\_format\_parquet\_row\_group\_size\_bytes

<SettingsInfoBlock type="UInt64" default_value="536870912" />

圧縮前の目標行グループサイズ (バイト単位) 。

## output\_format\_parquet\_string\_as\_string

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "ClickHouse では、通常 UTF-8 として扱われる String データ型に、任意のバイナリデータを格納できます。一方、Parquet\/ORC\/Arrow の String は UTF-8 のみをサポートします。そのため、ClickHouse の String データ型に対して Arrow のどのデータ型を使用するかを、String と Binary から選択できます。より正確で互換性が高いのは Binary ですが、ほとんどの場合、デフォルトで String を使用する方がユーザーの期待に合います。"}]}]} />

String 型のカラムでは、Binary ではなく Parquet String 型を使用します。

## output\_format\_parquet\_wide\_integer\_as\_decimal

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "0"},{"label": "`Int128`、`UInt128`、`Int256`、`UInt256` の値を標準 Parquet `DECIMAL` 値として書き込むための新しい設定です。従来の値では、レガシーなリトルエンディアン `FIXED_LEN_BYTE_ARRAY` 表現が維持されます。"}]}]} />

`Int128`、`UInt128`、`Int256`、`UInt256` の値を、ビッグエンディアンのバイト順で標準準拠の Parquet `DECIMAL` 値として書き込みます。デフォルトでは、古い ClickHouse バージョンとの互換性のため、注釈のないレガシーなリトルエンディアン `FIXED_LEN_BYTE_ARRAY` 表現が維持されます。10 進表現により相互運用可能な数値統計を利用できますが、一部の Parquet リーダーは 38 または 76 を超える精度をサポートしていません。

## output\_format\_parquet\_write\_bloom\_filter

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "1"},{"label": "Parquet ブルームフィルタの書き込みに対応しました。"}]}]} />

Parquet ファイルにブルームフィルタを書き込みます。

## output\_format\_parquet\_write\_checksums

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

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

Parquet のページヘッダーに crc32 チェックサムを書き込みます。

## output\_format\_parquet\_write\_page\_index

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "1"},{"label": "Parquet ファイル にページインデックスを書き込めるようになりました。"}]}]} />

Parquet ファイル にカラムインデックスとオフセットインデックス (つまり、各データページに関する統計情報であり、読み取り時の filter pushdown に利用される場合があります) を書き込みます。

## output\_format\_pretty\_color

<SettingsInfoBlock type="UInt64Auto" default_value="auto" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "auto"},{"label": "出力先が TTY でない場合は ANSI エスケープを無効にするため、auto 値も許可するように設定が変更されました"}]}]} />

Pretty フォーマットで ANSI エスケープシーケンスを使用します。0 - 無効、1 - 有効、'auto' - 端末出力の場合に有効。

## output\_format\_pretty\_display\_footer\_column\_names

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "1"},{"label": "テーブルの行数が多い場合に、フッターにカラム名を表示する設定が追加されました。しきい値は output_format_pretty_display_footer_column_names_min_rows で制御されます。"}]}]} />

テーブルの行数が多い場合に、フッターにカラム名を表示します。

設定可能な値:

* 0 — フッターにはカラム名は表示されません。
* 1 — 行数が [output\_format\_pretty\_display\_footer\_column\_names\_min\_rows](/ja/reference/settings/formats/output-format#output_format_pretty_display_footer_column_names_min_rows) で設定されたしきい値以上の場合、フッターにカラム名が表示されます (デフォルトは 50) 。

**例**

クエリ:

```sql theme={null}
SELECT *, toTypeName(*) FROM (SELECT * FROM system.numbers LIMIT 1000);
```

結果:

```response theme={null}
      ┌─number─┬─toTypeName(number)─┐
   1. │      0 │ UInt64             │
   2. │      1 │ UInt64             │
   3. │      2 │ UInt64             │
   ...
 999. │    998 │ UInt64             │
1000. │    999 │ UInt64             │
      └─number─┴─toTypeName(number)─┘
```

## output\_format\_pretty\_display\_footer\_column\_names\_min\_rows

<SettingsInfoBlock type="UInt64" default_value="50" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "50"},{"label": "output_format_pretty_display_footer_column_names_min_rows のしきい値を制御する設定を追加しました。デフォルト値は 50 です。"}]}]} />

設定 [output\_format\_pretty\_display\_footer\_column\_names](/ja/reference/settings/formats/output-format#output_format_pretty_display_footer_column_names) が有効な場合に、カラム名付きのフッターを表示する最小行数を設定します。

## output\_format\_pretty\_fallback\_to\_vertical

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

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

有効な場合、テーブルの幅が広く行数が少ないと、Pretty フォーマットは Vertical フォーマットと同様の形式で出力します。
この動作の詳細な調整については、`output_format_pretty_fallback_to_vertical_max_rows_per_chunk` および `output_format_pretty_fallback_to_vertical_min_table_width` を参照してください。

## output\_format\_pretty\_fallback\_to\_vertical\_max\_rows\_per\_chunk

<SettingsInfoBlock type="UInt64" default_value="10" />

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

Vertical フォーマット へのフォールバック (`output_format_pretty_fallback_to_vertical`を参照) は、chunk内のレコード数が指定した値を超えない場合にのみ有効になります。

## output\_format\_pretty\_fallback\_to\_vertical\_min\_columns

<SettingsInfoBlock type="UInt64" default_value="5" />

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

Verticalフォーマットへのフォールバック (`output_format_pretty_fallback_to_vertical` を参照) は、カラム数が指定した値より大きい場合にのみ有効になります。

## output\_format\_pretty\_fallback\_to\_vertical\_min\_table\_width

<SettingsInfoBlock type="UInt64" default_value="250" />

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

Vertical フォーマットへのフォールバック (`output_format_pretty_fallback_to_vertical` を参照) は、テーブル内のカラム長の合計が指定された値以上である場合、またはいずれかの値に改行文字が含まれている場合にのみ有効になります。

## output\_format\_pretty\_glue\_chunks

<SettingsInfoBlock type="UInt64Auto" default_value="auto" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "auto"},{"label": "Pretty フォーマットをより見やすくするための新しい設定。"}]}]} />

Pretty フォーマットで表示されるデータが複数の chunk に分かれて到着した場合、遅れて到着した場合でも、次の chunk のカラム幅が前の chunk と同じであれば、ANSIエスケープシーケンスを使って前の行に戻り、前の chunk のフッターを上書きして、新しい chunk のデータを続けて表示します。これにより、結果がより見やすくなります。

0 - 無効、1 - 有効、'auto' - 端末使用時に有効。

## output\_format\_pretty\_grid\_charset

<SettingsInfoBlock type="String" default_value="UTF-8" />

グリッドの罫線を表示するための文字セット。使用可能な文字セット: ASCII、UTF-8 (デフォルト) 。

対話型モードでは、この設定が明示的に指定されていない限り、端末が UTF-8 をサポートしていない場合 (`LC_ALL`、`LC_CTYPE`、`LANG` 環境変数に基づいて判定) 、`clickhouse-client` は自動的に `ASCII` に切り替えます。

## output\_format\_pretty\_highlight\_digit\_groups

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "有効で、かつ出力先が端末の場合、千、百万などの単位に対応する各桁を下線で強調表示します。"}]}]} />

有効で、かつ出力先が端末の場合、千、百万などの単位に対応する各桁を下線で強調表示します。

## output\_format\_pretty\_highlight\_trailing\_spaces

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

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

有効で、かつ出力先がターミナルの場合、行末の空白を灰色の下線で強調表示します。

## output\_format\_pretty\_max\_column\_name\_width\_cut\_to

<SettingsInfoBlock type="UInt64" default_value="24" />

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

カラム名が長すぎる場合は、この長さに切り詰めます。
カラム名は、`output_format_pretty_max_column_name_width_cut_to` と `output_format_pretty_max_column_name_width_min_chars_to_cut` の合計より長い場合に切り詰められます。

## output\_format\_pretty\_max\_column\_name\_width\_min\_chars\_to\_cut

<SettingsInfoBlock type="UInt64" default_value="4" />

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

カラム名が長すぎる場合に切り詰める最小文字数です。
カラム名は、`output_format_pretty_max_column_name_width_cut_to` に `output_format_pretty_max_column_name_width_min_chars_to_cut` を加えた長さを超える場合に切り詰められます。

## output\_format\_pretty\_max\_column\_pad\_width

<SettingsInfoBlock type="UInt64" default_value="250" />

Prettyフォーマットで、カラム内のすべての値に適用するパディングの最大幅です。

## output\_format\_pretty\_max\_rows

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "1000"},{"label": "使いやすさの観点から、スクロール量が少なくて済みます。"}]}]} />

Pretty フォーマットの行数上限。

## output\_format\_pretty\_max\_value\_width

<SettingsInfoBlock type="UInt64" default_value="10000" />

Pretty フォーマットで表示する値の最大表示幅です。これを超える場合は切り詰められます。
値が 0 の場合は、切り詰められません。

## output\_format\_pretty\_max\_value\_width\_apply\_for\_single\_value

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "Prettyフォーマットでは、単一の値は切り詰められません。"}]}]} />

値を切り詰める (`output_format_pretty_max_value_width` 設定を参照) のは、block 内の単一の値でない場合に限られます。それ以外の場合は値全体が出力されます。これは `SHOW CREATE TABLE` クエリで便利です。

## output\_format\_pretty\_multiline\_fields

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

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

有効な場合、Prettyフォーマットでは、表のセル内の複数行フィールドが複数行のまま表示されるため、表の枠線が維持されます。
無効な場合はそのまま表示されるため、表のレイアウトが崩れる可能性があります (無効のままにしておく利点の 1 つは、複数行の値をコピー＆ペーストしやすくなることです) 。

## output\_format\_pretty\_named\_tuples\_as\_json

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "1"},{"label": "Prettyフォーマットで名前付きタプルをJSON オブジェクトとして出力するかどうかを制御する新しい設定"}]}]} />

Prettyフォーマットで名前付きタプルを整形されたJSON オブジェクトとして出力するかどうかを制御します。

## output\_format\_pretty\_row\_numbers

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "使い勝手が向上します。"}]}]} />

Pretty 出力フォーマットでは、各行の前に行番号を追加します

## output\_format\_pretty\_single\_large\_number\_tip\_threshold

<SettingsInfoBlock type="UInt64" default_value="1000000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.2"},{"label": "1000000"},{"label": "ブロックがこの値を超える単一の数値（0 を除く）のみで構成されている場合、テーブルの右側に読みやすい数値のヒントを表示します"}]}]} />

ブロックがこの値を超える単一の数値 (0 を除く) のみで構成されている場合、テーブルの右側に読みやすい数値のヒントを表示します

## output\_format\_pretty\_squash\_consecutive\_ms

<SettingsInfoBlock type="UInt64" default_value="50" />

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

次のブロックを指定したミリ秒数まで待機し、書き込む前に前のブロックとまとめます。
これにより、小さすぎるブロックが頻繁に出力されるのを防ぎつつ、データをストリーミング形式で表示できます。

## output\_format\_pretty\_squash\_max\_wait\_ms

<SettingsInfoBlock type="UInt64" default_value="1000" />

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

前回の出力から指定したミリ秒数を超えて経過した場合、保留中のブロックをPrettyフォーマットで出力します。

## output\_format\_pretty\_use\_nbsp\_for\_padding

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "新しい設定。有効にすると、`Pretty` 出力のパディングが ASCII スペースではなく `U+00A0` でレンダリングされるため、通常のスペースの連続を圧縮するツールを介したコピー＆ペーストでも保持されます。"}]}]} />

有効にすると、`Pretty` 出力フォーマットのパディングは ASCII スペースではなく `U+00A0` でレンダリングされます。
出力は等幅フォントでは見た目は変わりませんが、通常のスペースの連続を圧縮または削除するツールを通しても、パディングは保持されます。
`output_format_pretty_grid_charset` が `UTF-8` の場合にのみ有効です。

## output\_format\_protobuf\_nullables\_with\_google\_wrappers

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

Google ラッパーを使用して Nullable カラムをシリアライズする際、デフォルト値を空のラッパーとしてシリアライズします。オフにすると、デフォルト値と NULL 値はシリアライズされません

## output\_format\_schema

[Cap'n Proto](/ja/reference/formats/CapnProto) または [Protobuf](/ja/reference/formats/Protobuf/Protobuf) フォーマットで自動生成されたスキーマを保存するファイルのパスです。

## output\_format\_sql\_insert\_include\_column\_names

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

INSERT クエリにカラム名を含めます

## output\_format\_sql\_insert\_max\_batch\_size

<SettingsInfoBlock type="UInt64" default_value="65409" />

1 つの INSERT ステートメントに含められる最大行数。

## output\_format\_sql\_insert\_quote\_names

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

カラム名を '\`' 文字で囲みます

## output\_format\_sql\_insert\_table\_name

<SettingsInfoBlock type="String" default_value="table" />

出力される INSERT クエリ内のテーブル名

## output\_format\_sql\_insert\_use\_replace

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

INSERTではなくREPLACEステートメントを使用する

## output\_format\_trim\_fixed\_string

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "テキスト出力フォーマットで FixedString の値の末尾にあるゼロバイトを削除する新しい設定"}]}]} />

テキスト出力フォーマットで、FixedString の値の末尾にあるヌルバイトを削除します。たとえば、`toFixedString('John', 8)` は `John\0\0\0\0` ではなく `John` として出力されます。

## output\_format\_tsv\_crlf\_end\_of\_line

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

true に設定すると、TSV フォーマットの行末は \n ではなく \r\n になります。

## output\_format\_values\_escape\_quote\_with\_quote

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.2"},{"label": "0"},{"label": "true の場合は ' を '' にエスケープし、そうでない場合は \\' でクォートします"}]}]} />

true の場合は ' を '' にエスケープし、そうでない場合は \\' でクォートします

## output\_format\_write\_statistics

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

適切な出力フォーマットで、読み取った行数、バイト数、経過時間に関する統計を出力します。

デフォルトで有効です
