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

# format_* フォーマット設定

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

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

<div id="format_display_secrets_in_show_and_select">
  ## format\_display\_secrets\_in\_show\_and\_select
</div>

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

テーブル、データベース、table function、Dictionaries に対する `SHOW` クエリおよび `SELECT` クエリで secret を表示するかどうかを切り替えます。

secret を表示するには、ユーザーに加えて
[`display_secrets_in_show_and_select` サーバー設定](/ja/reference/settings/server-settings/settings#display_secrets_in_show_and_select)
が有効になっており、
[`displaySecretsInShowAndSelect`](/ja/reference/statements/grant#displaysecretsinshowandselect) privilege が付与されている必要があります。

設定可能な値:

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

<div id="format_geojson_validate_geometry">
  ## format\_geojson\_validate\_geometry
</div>

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

`GeoJSON` フォーマットで、RFC 7946 のジオメトリ妥当性を入出力の両方向で検証するかどうかを制御します。

有効時 (デフォルト) は、GeoJSON の shape ルールに違反するジオメトリは拒否されます。たとえば、2 つ未満の points を持つ `LineString` (または `MultiLineString` 内の line) 、4 つ未満の points しかない、または最初と最後の point が異なる `Polygon` または `MultiPolygon` の ring (閉じていない ring) 、あるいは空の `MultiLineString`、`Polygon`、`MultiPolygon` です。これは読み取り時 (そのような document は拒否される) と書き込み時 (そのような ClickHouse の値は、input format が拒否する document を生成する代わりに拒否される) の両方に適用されます。

無効時は、これらの shape ルールは適用されません。そのようなジオメトリはそのまま読み取られ、そのまま書き込まれるため、退化したジオメトリでも往復変換できますが、書き込まれた document は有効な GeoJSON ではない可能性があります。

この検証は構造のみを対象とします。確認するのは point 数と ring の閉合だけです。shape の幾何学的な正しさまでは検査しません。つまり、ring の向き (右手則 / 巻き方向) は強制されず、構造的には有効でも幾何学的には退化したジオメトリ (たとえば、面積が 0 の polygon、自己交差する ring、または holes が外側の ring の外にある polygon) も受け入れられます。有限でない座標 (`NaN`、`Inf`) は、この設定に関係なく常に拒否されます。これは、JSON の数値として表現できないためです。

<div id="format_json_object_each_row_column_for_object_name">
  ## format\_json\_object\_each\_row\_column\_for\_object\_name
</div>

[JSONObjectEachRow](/ja/reference/formats/JSON/JSONObjectEachRow) フォーマットで、オブジェクト名の保存/書き込みに使用するカラム名です。
カラム型は String である必要があります。値が空の場合、オブジェクト名にはデフォルトで `row_{i}` が使用されます。

<div id="format_protobuf_use_autogenerated_schema">
  ## format\_protobuf\_use\_autogenerated\_schema
</div>

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

format\_schema が設定されていない場合、自動生成された Protobuf を使用します

<div id="format_tsv_null_representation">
  ## format\_tsv\_null\_representation
</div>

<SettingsInfoBlock type="String" default_value="\N" />

TSVフォーマットでのカスタムNULL表現
