> ## 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.

# configurações de formato format_*

> As configurações de formato do ClickHouse no grupo gerado format_*.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["Versão", "Valor padrão", "Comentário"];
  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
  }}>
        Histórico de versões
      </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
  }}>Tipo</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Padrão</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Pode ser alterado sem reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Essas configurações são geradas automaticamente a partir do [código-fonte](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" />

Habilita ou desabilita a exibição de segredos em consultas `SHOW` e `SELECT` para tabelas, bancos de dados,
funções de tabela e dicionários.

O usuário que quiser ver segredos também deve ter a
[`display_secrets_in_show_and_select` configuração do servidor](/pt-BR/reference/settings/server-settings/settings#display_secrets_in_show_and_select)
habilitada e o
[`displaySecretsInShowAndSelect`](/pt-BR/reference/statements/grant#displaysecretsinshowandselect) privilégio.

Valores possíveis:

* 0 — Desabilitado.
* 1 — Habilitado.

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

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

Controla se o formato `GeoJSON` impõe a validade geométrica da RFC 7946, nos dois sentidos.

Quando habilitada (padrão), uma geometria que viola as regras de forma do GeoJSON é rejeitada: um `LineString` (ou uma linha de um `MultiLineString`) com menos de dois pontos; um anel de `Polygon` ou `MultiPolygon` com menos de quatro pontos ou cujo primeiro e último pontos diferem (um anel não fechado); ou um `MultiLineString`, `Polygon` ou `MultiPolygon` vazio. Isso se aplica tanto na leitura (esse documento é rejeitado) quanto na gravação (esse valor do ClickHouse é rejeitado em vez de produzir um documento que o formato de entrada rejeitaria).

Quando desabilitada, essas regras de forma não são impostas: essas geometrias são lidas como estão e gravadas como estão, de modo que geometrias degeneradas fazem round-trip, mas um documento gravado pode não ser um GeoJSON válido.

A validação é apenas estrutural: ela verifica a contagem de pontos e o fechamento de anel. Ela não inspeciona a correção geométrica de uma forma — a orientação do anel (a regra da mão direita / ordem de winding) não é imposta, e geometrias estruturalmente válidas, mas geometricamente degeneradas, são aceitas, como um polígono de área zero, um anel com auto-interseção ou um polígono cujos buracos ficam fora de seu anel externo. Coordenadas não finitas (`NaN`, `Inf`) são sempre rejeitadas, independentemente dessa configuração, porque não podem ser representadas como números JSON.

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

O nome da coluna que será usada para armazenar/gravar os nomes dos objetos no formato [JSONObjectEachRow](/pt-BR/reference/formats/JSON/JSONObjectEachRow).
O tipo da coluna deve ser String. Se o valor estiver vazio, os nomes padrão `row_{i}` serão usados como nomes dos objetos.

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

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

Usa Protobuf gerado automaticamente quando format\_schema não está definido

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

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

Representação personalizada de NULL no formato TSV
