> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# configurações de formato output_format_*

> Configurações de formato do ClickHouse no grupo gerado output_format_*.

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="output_format_always_write_decimal_point_in_float_and_decimal">
  ## output\_format\_always\_write\_decimal\_point\_in\_float\_and\_decimal
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "Nova configuração para sempre exibir o separador decimal em números de ponto flutuante e Decimal em formatos de texto, mesmo quando o valor for um número inteiro."}]}]} />

Sempre exibe o separador decimal em números de ponto flutuante e Decimal em formatos de texto, mesmo quando o valor for um número inteiro. Por exemplo, gera `1.` em vez de `1`.

Desativado por padrão.

<div id="output_format_arrow_compression_method">
  ## output\_format\_arrow\_compression\_method
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.3"},{"label": "lz4_frame"},{"label": "Usa compressão lz4 no formato de saída Arrow por padrão"}]}]} />

Método de compressão para o formato de saída Arrow. Codecs suportados: lz4\_frame, zstd, none (sem compressão)

<div id="output_format_arrow_date_as_uint16">
  ## output\_format\_arrow\_date\_as\_uint16
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "Grava valores Date como Arrow DATE32 em vez de UInt16 simples por padrão."}]}]} />

Grava valores Date como números simples de 16 bits (lidos novamente como UInt16), em vez de convertê-los para o tipo Arrow DATE32 de 32 bits (lido novamente como Date32).

<div id="output_format_arrow_fixed_string_as_fixed_byte_array">
  ## output\_format\_arrow\_fixed\_string\_as\_fixed\_byte\_array
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.2"},{"label": "1"},{"label": "Usa o tipo Arrow FIXED_SIZE_BINARY para FixedString por padrão"}]}]} />

Use o tipo Arrow FIXED\_SIZE\_BINARY em vez de Binary para colunas do tipo FixedString.

<div id="output_format_arrow_low_cardinality_as_dictionary">
  ## output\_format\_arrow\_low\_cardinality\_as\_dictionary
</div>

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

Habilita a saída do tipo LowCardinality como o tipo Dictionary do Arrow

<div id="output_format_arrow_string_as_string">
  ## output\_format\_arrow\_string\_as\_string
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "O ClickHouse permite dados binários arbitrários no tipo de dado String, que normalmente usa UTF-8. Strings de Parquet\/ORC\/Arrow oferecem suporte apenas a UTF-8. Por isso, é possível escolher qual tipo de dado do Arrow usar para o tipo de dado String do ClickHouse: String ou Binary. Embora Binary seja mais correto e compatível, usar String por padrão atenderá às expectativas do usuário na maioria dos casos."}]}]} />

Usar o tipo String do Arrow em vez de Binary para colunas String

<div id="output_format_arrow_unsupported_types_as_binary">
  ## output\_format\_arrow\_unsupported\_types\_as\_binary
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1"},{"label": "Nova configuração para converter tipos do CH sem suporte em binário do Arrow, em vez de gerar a exceção UNKNOWN_TYPE."}]}]} />

Produz, como dados binários brutos, tipos sem conversão. Se false - esses tipos gerariam a exceção UNKNOWN\_TYPE.

<div id="output_format_arrow_use_64_bit_indexes_for_dictionary">
  ## output\_format\_arrow\_use\_64\_bit\_indexes\_for\_dictionary
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "0"},{"label": "Permite usar o tipo de índice de 64 bits em dicionários Arrow"}]}, {"id": "row-2","items": [{"label": "24.1"},{"label": "0"},{"label": "Permite usar o tipo de índice de 64 bits em dicionários Arrow"}]}]} />

Sempre usa inteiros de 64 bits para índices de dicionário no formato Arrow

<div id="output_format_arrow_use_native_writer">
  ## output\_format\_arrow\_use\_native\_writer
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1"},{"label": "Nova configuração para usar o mecanismo nativo de gravação do ClickHouse para os formatos Arrow e ArrowStream em vez da biblioteca Apache Arrow."}]}]} />

Use o mecanismo nativo de gravação do ClickHouse para os formatos Arrow e ArrowStream em vez do baseado na biblioteca Apache Arrow.

<div id="output_format_arrow_use_signed_indexes_for_dictionary">
  ## output\_format\_arrow\_use\_signed\_indexes\_for\_dictionary
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "1"},{"label": "Usa o tipo de índice com sinal para dicionários Arrow por padrão, como recomendado"}]}]} />

Use inteiros com sinal para os índices de dicionário no formato Arrow

<div id="output_format_avro_codec">
  ## output\_format\_avro\_codec
</div>

codec de compressão usado na saída. Valores possíveis: 'null', 'deflate', 'snappy', 'zstd'.

<div id="output_format_avro_confluent_subject">
  ## output\_format\_avro\_confluent\_subject
</div>

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": ""},{"label": "Nova configuração para especificar o nome do subject para registrar o schema no Confluent Schema Registry ao gravar a saída AvroConfluent."}]}]} />

Para o formato de saída AvroConfluent: o nome do subject sob o qual o schema é registrado no Confluent Schema Registry. Obrigatório ao gravar a saída AvroConfluent.

<div id="output_format_avro_rows_in_file">
  ## output\_format\_avro\_rows\_in\_file
</div>

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

Número máximo de linhas em um arquivo (se o armazenamento permitir)

<div id="output_format_avro_string_column_pattern">
  ## output\_format\_avro\_string\_column\_pattern
</div>

Para o formato Avro: regexp das colunas String a serem selecionadas como String AVRO.

<div id="output_format_avro_sync_interval">
  ## output\_format\_avro\_sync\_interval
</div>

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

Intervalo de sincronização, em bytes.

<div id="output_format_binary_encode_types_in_binary_format">
  ## output\_format\_binary\_encode\_types\_in\_binary\_format
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "0"},{"label": "Adicionada nova configuração para permitir gravar nomes de tipos em formato binário no formato de saída RowBinaryWithNamesAndTypes"}]}]} />

Gravar tipos de dados em formato binário em vez de nomes de tipos no formato de saída RowBinaryWithNamesAndTypes

<div id="output_format_binary_write_json_as_string">
  ## output\_format\_binary\_write\_json\_as\_string
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "0"},{"label": "Adiciona nova configuração para gravar valores do tipo JSON como valores String com conteúdo JSON no formato de saída RowBinary"}]}]} />

Grava valores do tipo de dados [JSON](/docs/pt-BR/reference/data-types/newjson) como valores [String](/docs/pt-BR/reference/data-types/string) com conteúdo JSON no formato de saída RowBinary.

<div id="output_format_bson_string_as_string">
  ## output\_format\_bson\_string\_as\_string
</div>

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

Use o tipo String do BSON em vez de Binary para colunas do tipo String.

<div id="output_format_compression_level">
  ## output\_format\_compression\_level
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "3"},{"label": "Permite alterar o nível de compressão na saída da consulta"}]}]} />

Nível de compressão padrão quando a saída da consulta é comprimida. A configuração é aplicada quando a consulta `SELECT` usa `INTO OUTFILE` ou ao gravar em funções de tabela `file`, `url`, `hdfs`, `s3` ou `azureBlobStorage`.

Valores possíveis: de `1` a `22`

<div id="output_format_compression_zstd_window_log">
  ## output\_format\_compression\_zstd\_window\_log
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "0"},{"label": "Permite alterar o window log do zstd na saída da consulta quando a compressão zstd é usada"}]}]} />

Pode ser usado quando o método de compressão de saída é `zstd`. Se for maior que `0`, essa configuração define explicitamente o tamanho da janela de compressão (potência de `2`) e ativa o modo de longo alcance da compressão zstd. Isso pode ajudar a obter uma melhor razão de compressão.

Valores possíveis: números não negativos. Observe que, se o valor for muito pequeno ou muito grande, `zstdlib` lançará uma exceção. Os valores típicos variam de `20` (tamanho da janela = `1MB`) a `30` (tamanho da janela = `1GB`).

<div id="output_format_csv_crlf_end_of_line">
  ## output\_format\_csv\_crlf\_end\_of\_line
</div>

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

Se estiver definido como true, o final de linha no formato CSV será \r\n em vez de \n.

<div id="output_format_csv_header_serialize_tuple_into_separate_columns">
  ## output\_format\_csv\_header\_serialize\_tuple\_into\_separate\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1"},{"label": "Nova configuração. Quando output_format_csv_serialize_tuple_into_separate_columns está habilitada, o cabeçalho de CSVWithNames\/CSVWithNamesAndTypes agora achata colunas Tuple em seus campos folha para que a largura do cabeçalho corresponda aos dados. Defina como false para restaurar o cabeçalho anterior com um único nome."}]}]} />

Quando [output\_format\_csv\_serialize\_tuple\_into\_separate\_columns](/docs/pt-BR/reference/settings/formats/output-format#output_format_csv_serialize_tuple_into_separate_columns) está habilitada, as linhas de cabeçalho de `CSVWithNames` e `CSVWithNamesAndTypes` achatam cada coluna Tuple em seus campos folha (nomes com ponto como `t.a`, `t.b` e os nomes de tipo dos campos folha), para que o cabeçalho tenha o mesmo número de colunas que os dados. Para `CustomSeparated*`, esse achatamento se aplica somente quando `format_custom_escaping_rule = 'CSV'` e `format_custom_field_delimiter` é um único caractere igual a `format_csv_delimiter`; caso contrário (por exemplo, o delimitador de tabulação padrão ou `format_custom_field_delimiter = '|'`), o cabeçalho permanece não achatado para continuar correspondendo aos dados. Defina como `0` para manter o comportamento anterior, em que o cabeçalho mantém o único nome e tipo Tuple de nível superior.

Nota: um cabeçalho achatado não é lido de volta em uma Tuple por nome quando `input_format_with_names_use_header = 1`. Para ler esses dados de volta em uma Tuple, defina essa configuração como `0` na saída ou leia com `input_format_with_names_use_header = 0` (e, para os formatos `*WithNamesAndTypes` `CSVWithNamesAndTypes` e `CustomSeparatedWithNamesAndTypes`, também `input_format_with_types_use_header = 0`, já que, caso contrário, a linha de tipos achatada é validada em relação ao único campo de entrada Tuple de nível superior e é rejeitada).

<div id="output_format_csv_serialize_tuple_into_separate_columns">
  ## output\_format\_csv\_serialize\_tuple\_into\_separate\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "1"},{"label": "Foi adicionada uma nova forma de interpretar Tuplas no formato CSV."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "Foi adicionada uma nova forma de interpretar Tuplas no formato CSV."}]}]} />

Se estiver definido como true, as Tuplas no formato CSV serão serializadas como colunas separadas (ou seja, sua estrutura aninhada na tupla é perdida)

<div id="output_format_decimal_trailing_zeros">
  ## output\_format\_decimal\_trailing\_zeros
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.9"},{"label": "0"},{"label": "Não exibe zeros à direita na representação textual de tipos Decimal por padrão, para uma saída visualmente melhor"}]}]} />

Exibe zeros à direita ao imprimir valores Decimal. Ex.: 1.230000 em vez de 1.23.

Desabilitado por padrão.

<div id="output_format_float_precision">
  ## output\_format\_float\_precision
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "Uma nova configuração para controlar os dígitos decimais na saída de valores de ponto flutuante"}]}]} />

Quando diferente de zero, formata a saída de valores de ponto flutuante (`Float32`, `Float64`, `BFloat16`) com no máximo esta quantidade de dígitos após o separador decimal (os zeros à direita são removidos).
Quando 0 (o padrão), usa a representação round-trip mais curta.

Valores grandes demais para notação fixa e valores cuja magnitude é tão pequena que o arredondamento para a precisão solicitada faria perder todos os dígitos significativos (a mantissa se tornaria `±0`) são emitidos em notação científica. Nesses casos de fallback, a mantissa pode conter mais dígitos fracionários do que o número solicitado.

Intervalo válido: de 0 a 100.

<div id="output_format_image_height">
  ## output\_format\_image\_height
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1024"},{"label": "Nova configuração que define a altura da imagem de saída para formatos de saída de imagem, como PNG."}]}]} />

A altura, em pixels, da imagem de saída para formatos de saída de imagem, como `PNG`.

Valor padrão: 1024.

<div id="output_format_image_terminal_mode">
  ## output\_format\_image\_terminal\_mode
</div>

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": ""},{"label": "Nova configuração que controla se formatos de saída de imagem, como PNG, são renderizados diretamente no terminal usando um protocolo de imagem inline."}]}]} />

Para formatos de saída de imagem, como `PNG`, renderize a imagem diretamente no terminal usando um protocolo de imagem inline em vez de gravar os bytes brutos da imagem.

Valores possíveis:

* \`\` (vazio) — grava os bytes brutos da imagem (padrão).
* `iterm` — usa o protocolo de imagem inline do iTerm2.
* `kitty` — usa o protocolo gráfico do Kitty.
* `sixel` — usa o protocolo Sixel.
* `auto` — se a saída for um terminal, detecta as capacidades dele e usa `iterm`, `kitty` ou `sixel` (nessa ordem); caso contrário, grava os bytes brutos da imagem.

Valor padrão: \`\` (vazio).

<div id="output_format_image_width">
  ## output\_format\_image\_width
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1024"},{"label": "Nova configuração que controla a largura, em pixels, da imagem de saída para formatos de saída de imagem, como PNG."}]}]} />

A largura, em pixels, da imagem de saída para formatos de saída de imagem, como `PNG`.

Valor padrão: 1024.

<div id="output_format_json_array_of_rows">
  ## output\_format\_json\_array\_of\_rows
</div>

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

Habilita a saída de todas as linhas como um array JSON no formato [JSONEachRow](/docs/pt-BR/reference/formats/JSON/JSONEachRow).

Valores possíveis:

* 1 — o ClickHouse retorna todas as linhas como um array, com cada linha no formato `JSONEachRow`.
* 0 — o ClickHouse retorna cada linha separadamente no formato `JSONEachRow`.

**Exemplo de uma consulta com essa configuração habilitada**

Consulta:

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

Resultado:

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

**Exemplo de consulta com a configuração desativada**

Consulta:

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

Resultado:

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

<div id="output_format_json_escape_forward_slashes">
  ## output\_format\_json\_escape\_forward\_slashes
</div>

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

Controla o escape de barras (/) em saídas de strings no formato de saída JSON. Isso é destinado à compatibilidade com JavaScript. Não confunda com barras invertidas, que são sempre escapadas.

Habilitado por padrão.

<div id="output_format_json_map_as_array_of_tuples">
  ## output\_format\_json\_map\_as\_array\_of\_tuples
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.7"},{"label": "0"},{"label": "Nova configuração"}]}]} />

Serializa colunas do tipo `map` como arrays JSON de tuplas.

Desativada por padrão.

<div id="output_format_json_named_tuples_as_objects">
  ## output\_format\_json\_named\_tuples\_as\_objects
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.6"},{"label": "1"},{"label": "Permite serializar colunas de tuplas nomeadas como objetos JSON nos formatos JSON por padrão"}]}]} />

Serializa colunas de tuplas nomeadas como objetos JSON.

Ativado por padrão.

<div id="output_format_json_pretty_print">
  ## output\_format\_json\_pretty\_print
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Exibe valores no formato Pretty no formato de saída JSON por padrão"}]}]} />

Essa configuração determina como estruturas aninhadas, como Tuples, Maps e Arrays, são exibidas dentro do array `data` ao usar o formato de saída JSON.

Por exemplo, em vez da seguinte saída:

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

A saída será formatada como:

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

Habilitado por padrão.

<div id="output_format_json_quote_64bit_floats">
  ## output\_format\_json\_quote\_64bit\_floats
</div>

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

Controla o uso de aspas em [floats](/docs/pt-BR/reference/data-types/float) de 64 bits quando são gerados em formatos JSON\*.

Desabilitado por padrão.

<div id="output_format_json_quote_64bit_integers">
  ## output\_format\_json\_quote\_64bit\_integers
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "0"},{"label": "Desativa, por padrão, as aspas em inteiros de 64 bits no JSON"}]}]} />

Controla o uso de aspas em [inteiros](/docs/pt-BR/reference/data-types/int-uint) de 64 bits ou maiores (como `UInt64` ou `Int128`) quando são gerados no formato [JSON](/docs/pt-BR/reference/formats/JSON/JSON).
Por padrão, esses inteiros são colocados entre aspas. Esse comportamento é compatível com a maioria das implementações de JavaScript.

Valores possíveis:

* 0 — Os inteiros são gerados sem aspas.
* 1 — Os inteiros são colocados entre aspas.

<div id="output_format_json_quote_decimals">
  ## output\_format\_json\_quote\_decimals
</div>

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

Controla o uso de aspas em valores decimais nos formatos de saída JSON.

Desativado por padrão.

<div id="output_format_json_quote_denormals">
  ## output\_format\_json\_quote\_denormals
</div>

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

Habilita a saída de `+nan`, `-nan`, `+inf`, `-inf` no formato de saída [JSON](/docs/pt-BR/reference/formats/JSON/JSON).

Valores possíveis:

* 0 — Desabilitado.
* 1 — Habilitado.

**Exemplo**

Considere a seguinte tabela `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 │
└────┴────────┴──────────┴────────┴──────┘
```

Quando `output_format_json_quote_denormals = 0`, a consulta retorna valores `null` na saída:

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

Quando `output_format_json_quote_denormals = 1`, a consulta retorna:

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

<div id="output_format_json_skip_null_value_in_named_tuples">
  ## output\_format\_json\_skip\_null\_value\_in\_named\_tuples
</div>

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

Ignora pares chave-valor com valor NULL ao serializar colunas de tuplas nomeadas como objetos JSON. Isso só é válido quando output\_format\_json\_named\_tuples\_as\_objects é true.

<div id="output_format_json_validate_utf8">
  ## output\_format\_json\_validate\_utf8
</div>

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

Controla a validação de sequências UTF-8 nos formatos de saída JSON; não afeta os formatos JSON/JSONCompact/JSONColumnsWithMetadata, que sempre validam UTF-8.

Desabilitado por padrão.

<div id="output_format_markdown_escape_special_characters">
  ## output\_format\_markdown\_escape\_special\_characters
</div>

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

Quando ativado, escapa caracteres especiais em Markdown.

[Common Mark](https://spec.commonmark.org/0.30/#example-12) define os seguintes caracteres especiais que podem ser escapados por :

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

Valores possíveis:

* 0 — Desativado.
* 1 — Ativado.

<div id="output_format_msgpack_uuid_representation">
  ## output\_format\_msgpack\_uuid\_representation
</div>

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

A forma de representar UUID no formato MsgPack.

<div id="output_format_native_encode_types_in_binary_format">
  ## output\_format\_native\_encode\_types\_in\_binary\_format
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "0"},{"label": "Adicionada nova configuração para permitir gravar nomes de tipos em formato binário no formato de saída Native"}]}]} />

Grava os tipos de dados em formato binário em vez dos nomes dos tipos no formato de saída Native

<div id="output_format_native_use_flattened_dynamic_and_json_serialization">
  ## output\_format\_native\_use\_flattened\_dynamic\_and\_json\_serialization
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "0"},{"label": "Adiciona serializações achatadas de Dynamic\/JSON ao Native format"}]}]} />

Grava os dados de colunas [JSON](/docs/pt-BR/reference/data-types/newjson) e [Dynamic](/docs/pt-BR/reference/data-types/dynamic) em formato achatado (todos os tipos/caminhos como subcolunas separadas).

<div id="output_format_native_write_json_as_string">
  ## output\_format\_native\_write\_json\_as\_string
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "0"},{"label": "Adiciona nova configuração para permitir gravar uma coluna JSON como uma única coluna String no formato Native"}]}]} />

Grava os dados de uma coluna [JSON](/docs/pt-BR/reference/data-types/newjson) como uma coluna [String](/docs/pt-BR/reference/data-types/string) contendo strings JSON, em vez da serialização JSON nativa padrão.

<div id="output_format_orc_compression_block_size">
  ## output\_format\_orc\_compression\_block\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "262144"},{"label": "Nova configuração"}]}]} />

O tamanho, em bytes, do bloco de compressão do formato de saída ORC.

<div id="output_format_orc_compression_method">
  ## output\_format\_orc\_compression\_method
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "zstd"},{"label": "Parquet\/ORC\/Arrow suportam vários métodos de compressão, incluindo lz4 e zstd. O ClickHouse oferece suporte a todos esses métodos de compressão. Algumas ferramentas mais limitadas, como 'duckdb', não suportam o método de compressão `lz4`, que é mais rápido; por isso, definimos zstd como padrão."}]}, {"id": "row-2","items": [{"label": "23.3"},{"label": "lz4_frame"},{"label": "Usa compressão lz4 no formato de saída ORC por padrão"}]}]} />

Método de compressão para o formato de saída ORC. Codecs compatíveis: lz4, snappy, zlib, zstd, none (sem compressão)

<div id="output_format_orc_dictionary_key_size_threshold">
  ## output\_format\_orc\_dictionary\_key\_size\_threshold
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "0"},{"label": "Para uma coluna String no formato de saída ORC, se o número de valores distintos for maior que esta fração do número total de linhas não NULL, desative a codificação de dicionário. Caso contrário, a codificação de dicionário permanecerá habilitada"}]}]} />

Para uma coluna String no formato de saída ORC, se o número de valores distintos for maior que esta fração do número total de linhas não NULL, desative a codificação de dicionário. Caso contrário, a codificação de dicionário permanecerá habilitada

<div id="output_format_orc_row_index_stride">
  ## output\_format\_orc\_row\_index\_stride
</div>

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

Stride alvo do índice de linha no formato de saída ORC

<div id="output_format_orc_string_as_string">
  ## output\_format\_orc\_string\_as\_string
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "O ClickHouse permite dados binários arbitrários no tipo de dado String, que normalmente usa UTF-8. Strings em Parquet/ORC/Arrow oferecem suporte apenas a UTF-8. Por isso, você pode escolher qual tipo de dado do Arrow usar para o tipo de dado String do ClickHouse: String ou Binary. Embora Binary seja mais correto e compatível, usar String por padrão corresponderá às expectativas dos usuários na maioria dos casos."}]}]} />

Usar o tipo String do ORC em vez de Binary para colunas String

<div id="output_format_orc_writer_time_zone_name">
  ## output\_format\_orc\_writer\_time\_zone\_name
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "GMT"},{"label": "O nome do fuso horário do gravador ORC; o fuso horário padrão do gravador ORC é GMT."}]}]} />

O nome do fuso horário do gravador ORC; o fuso horário padrão do gravador ORC é GMT.

<div id="output_format_parallel_formatting">
  ## output\_format\_parallel\_formatting
</div>

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

Ativa ou desativa a formatação paralela nos formatos de dados. Suportado apenas para os formatos [TSV](/docs/pt-BR/reference/formats/TabSeparated/TabSeparated), [TSKV](/docs/pt-BR/reference/formats/TabSeparated/TSKV), [CSV](/docs/pt-BR/reference/formats/CSV/CSV) e [JSONEachRow](/docs/pt-BR/reference/formats/JSON/JSONEachRow).

Valores possíveis:

* 1 — Ativado.
* 0 — Desativado.

<div id="output_format_parquet_batch_size">
  ## output\_format\_parquet\_batch\_size
</div>

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

Verifique o tamanho da página a cada esse número de linhas. Considere reduzir esse valor se você tiver colunas com tamanho médio dos valores acima de alguns KBs.

<div id="output_format_parquet_bloom_filter_bits_per_value">
  ## output\_format\_parquet\_bloom\_filter\_bits\_per\_value
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "10.5"},{"label": "Nova configuração."}]}]} />

Número aproximado de bits a serem usados para cada valor distinto nos filtros de Bloom do Parquet. Taxas estimadas de falsos positivos:

* 6   bits - 10%
* 10.5 bits -  1%
* 16.9 bits -  0.1%
* 26.4 bits -  0.01%
* 41   bits -  0.001%

<div id="output_format_parquet_bloom_filter_flush_threshold_bytes">
  ## output\_format\_parquet\_bloom\_filter\_flush\_threshold\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "134217728"},{"label": "Nova configuração."}]}]} />

Em que ponto do arquivo Parquet os filtros de Bloom devem ser colocados. Os filtros de Bloom serão gravados em grupos de aproximadamente esse tamanho. Em particular:

* se for 0, os filtros de Bloom de cada grupo de linhas serão gravados imediatamente após o grupo de linhas,
  * se for maior que o tamanho total de todos os filtros de Bloom, os filtros de Bloom de todos os grupos de linhas serão acumulados na memória e depois gravados juntos perto do fim do arquivo,
  * caso contrário, os filtros de Bloom serão acumulados na memória e gravados sempre que seu tamanho total ultrapassar esse valor.

<div id="output_format_parquet_compression_method">
  ## output\_format\_parquet\_compression\_method
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "zstd"},{"label": "Parquet\/ORC\/Arrow oferecem suporte a vários métodos de compressão, incluindo lz4 e zstd. O ClickHouse oferece suporte a todos eles. Algumas ferramentas mais limitadas, como 'duckdb', não oferecem suporte ao método de compressão `lz4`, que é mais rápido; por isso, definimos zstd como padrão."}]}, {"id": "row-2","items": [{"label": "23.3"},{"label": "lz4"},{"label": "Usa compressão lz4 por padrão no formato de saída Parquet"}]}]} />

Método de compressão do formato de saída Parquet. Codecs compatíveis: snappy, lz4, brotli, zstd, gzip, none (sem compressão)

<div id="output_format_parquet_data_page_size">
  ## output\_format\_parquet\_data\_page\_size
</div>

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

Tamanho alvo da página em bytes, antes da compressão.

<div id="output_format_parquet_date_as_uint16">
  ## output\_format\_parquet\_date\_as\_uint16
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "0"},{"label": "Adicionada uma configuração de compatibilidade para uma pequena alteração incompatível introduzida anteriormente na versão 24.12."}]}, {"id": "row-2","items": [{"label": "24.12"},{"label": "0"},{"label": "Grava Date como Date32 em vez de UInt16 simples (esses são os dois tipos Parquet mais próximos de Date)."}]}]} />

Grava valores Date como números simples de 16 bits (lidos de volta como UInt16), em vez de convertê-los para um tipo DATE do Parquet de 32 bits (lido de volta como Date32).

<div id="output_format_parquet_datetime_as_uint32">
  ## output\_format\_parquet\_datetime\_as\_uint32
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "Grava valores DateTime como DateTime64(3) em vez de UInt32 (estes são os dois tipos Parquet mais próximos de DateTime)."}]}]} />

Grava valores DateTime como timestamp Unix bruto (lidos de volta como UInt32), em vez de convertê-los em milissegundos (lidos de volta como DateTime64(3)).

<div id="output_format_parquet_enum_as_byte_array">
  ## output\_format\_parquet\_enum\_as\_byte\_array
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "Habilita, por padrão, a gravação de Enum como array de bytes em Parquet"}]}, {"id": "row-2","items": [{"label": "25.7"},{"label": "0"},{"label": "Gravar enum usando o tipo físico do Parquet: BYTE_ARRAY e o tipo lógico: ENUM"}]}]} />

Gravar enum usando o tipo físico do Parquet: BYTE\_ARRAY e o tipo lógico: ENUM

<div id="output_format_parquet_fixed_string_as_fixed_byte_array">
  ## output\_format\_parquet\_fixed\_string\_as\_fixed\_byte\_array
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.2"},{"label": "1"},{"label": "Usar o tipo Parquet FIXED_LENGTH_BYTE_ARRAY para FixedString por padrão"}]}]} />

Use o tipo Parquet FIXED\_LEN\_BYTE\_ARRAY em vez de Binary para as colunas FixedString.

<div id="output_format_parquet_geometadata">
  ## output\_format\_parquet\_geometadata
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.7"},{"label": "1"},{"label": "Uma nova configuração para permitir gravar informações sobre colunas geoespaciais nos metadados do Parquet e codificar colunas no formato WKB."}]}]} />

Permite gravar informações sobre colunas geoespaciais nos metadados do Parquet e codificar colunas no formato WKB.

<div id="output_format_parquet_max_dictionary_size">
  ## output\_format\_parquet\_max\_dictionary\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1048576"},{"label": "Nova configuração"}]}]} />

Se o tamanho do dicionário exceder essa quantidade de bytes, mude para a codificação sem dicionário. Defina como 0 para desativar a codificação por dicionário.

<div id="output_format_parquet_parallel_encoding">
  ## output\_format\_parquet\_parallel\_encoding
</div>

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

Codifica em Parquet usando várias threads.

<div id="output_format_parquet_row_group_size">
  ## output\_format\_parquet\_row\_group\_size
</div>

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

Tamanho alvo do grupo de linhas, em linhas.

<div id="output_format_parquet_row_group_size_bytes">
  ## output\_format\_parquet\_row\_group\_size\_bytes
</div>

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

Tamanho alvo do grupo de linhas, em bytes, antes da compressão.

<div id="output_format_parquet_string_as_string">
  ## output\_format\_parquet\_string\_as\_string
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "O ClickHouse permite dados binários arbitrários no tipo de dado String, que normalmente usa UTF-8. Strings em Parquet\/ORC\/Arrow aceitam apenas UTF-8. Por isso, você pode escolher qual tipo de dado do Arrow usar para o tipo de dado String do ClickHouse: String ou Binary. Embora Binary seja mais correto e compatível, usar String por padrão atende melhor às expectativas do usuário na maioria dos casos."}]}]} />

Use o tipo String do Parquet em vez de Binary para colunas String.

<div id="output_format_parquet_write_bloom_filter">
  ## output\_format\_parquet\_write\_bloom\_filter
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "1"},{"label": "Adicionado suporte à gravação de filtros de Bloom em arquivos Parquet."}]}]} />

Grava filtros de Bloom em arquivos Parquet.

<div id="output_format_parquet_write_checksums">
  ## output\_format\_parquet\_write\_checksums
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "Nova configuração."}]}]} />

Grava checksums crc32 nos cabeçalhos de página do Parquet.

<div id="output_format_parquet_write_page_index">
  ## output\_format\_parquet\_write\_page\_index
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "1"},{"label": "Adiciona a possibilidade de gravar o índice de páginas em arquivos Parquet."}]}]} />

Grava o índice de coluna e o índice de deslocamento (isto é, estatísticas sobre cada página de dados, que podem ser usadas para pushdown de filtros na leitura) em arquivos Parquet.

<div id="output_format_pretty_color">
  ## output\_format\_pretty\_color
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "auto"},{"label": "A configuração foi alterada para também permitir o valor auto, desabilitando as sequências de escape ANSI se a saída não for um tty"}]}]} />

Use sequências de escape ANSI nos formatos Pretty. 0 - desabilitado, 1 - habilitado, 'auto' - habilitado se for um terminal.

<div id="output_format_pretty_display_footer_column_names">
  ## output\_format\_pretty\_display\_footer\_column\_names
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "1"},{"label": "Adiciona uma configuração para exibir os nomes das colunas no rodapé quando houver muitas linhas. O valor limite é controlado por output_format_pretty_display_footer_column_names_min_rows."}]}]} />

Exibe os nomes das colunas no rodapé quando houver muitas linhas na tabela.

Possíveis valores:

* 0 — Nenhum nome de coluna é exibido no rodapé.
* 1 — Os nomes das colunas são exibidos no rodapé se a contagem de linhas for maior ou igual ao valor limite definido por [output\_format\_pretty\_display\_footer\_column\_names\_min\_rows](/docs/pt-BR/reference/settings/formats/output-format#output_format_pretty_display_footer_column_names_min_rows) (50 por padrão).

**Exemplo**

Consulta:

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

Resultado:

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

<div id="output_format_pretty_display_footer_column_names_min_rows">
  ## output\_format\_pretty\_display\_footer\_column\_names\_min\_rows
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "50"},{"label": "Adiciona uma configuração para controlar o valor limite da configuração output_format_pretty_display_footer_column_names_min_rows. Padrão: 50."}]}]} />

Define o número mínimo de linhas a partir do qual um rodapé com nomes de colunas será exibido, se a configuração [output\_format\_pretty\_display\_footer\_column\_names](/docs/pt-BR/reference/settings/formats/output-format#output_format_pretty_display_footer_column_names) estiver habilitada.

<div id="output_format_pretty_fallback_to_vertical">
  ## output\_format\_pretty\_fallback\_to\_vertical
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Nova configuração"}]}]} />

Se estiver habilitada e a tabela for larga, mas curta, o formato Pretty a exibirá como o formato Vertical.
Consulte `output_format_pretty_fallback_to_vertical_max_rows_per_chunk` e `output_format_pretty_fallback_to_vertical_min_table_width` para ajustar esse comportamento em mais detalhes.

<div id="output_format_pretty_fallback_to_vertical_max_rows_per_chunk">
  ## output\_format\_pretty\_fallback\_to\_vertical\_max\_rows\_per\_chunk
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "100"},{"label": "Nova configuração"}]}]} />

O fallback para o formato Vertical (consulte `output_format_pretty_fallback_to_vertical`) só será ativado se o número de registros em um fragmento não exceder o valor especificado.

<div id="output_format_pretty_fallback_to_vertical_min_columns">
  ## output\_format\_pretty\_fallback\_to\_vertical\_min\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "5"},{"label": "Nova configuração"}]}]} />

O fallback para o formato Vertical (consulte `output_format_pretty_fallback_to_vertical`) será ativado apenas se o número de colunas for maior que o valor especificado.

<div id="output_format_pretty_fallback_to_vertical_min_table_width">
  ## output\_format\_pretty\_fallback\_to\_vertical\_min\_table\_width
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "250"},{"label": "Nova configuração"}]}]} />

O fallback para o formato Vertical (consulte `output_format_pretty_fallback_to_vertical`) será ativado apenas se a soma dos comprimentos das colunas em uma tabela for, no mínimo, o valor especificado ou se pelo menos um valor contiver um caractere de nova linha.

<div id="output_format_pretty_glue_chunks">
  ## output\_format\_pretty\_glue\_chunks
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "auto"},{"label": "Uma nova configuração para deixar os formatos Pretty mais bonitos."}]}]} />

Se os dados renderizados nos formatos Pretty chegarem em vários fragmentos, mesmo com atraso, mas o próximo fragmento tiver as mesmas larguras de coluna que o anterior, use sequências de escape ANSI para voltar à linha anterior e sobrescrever o rodapé do fragmento anterior, continuando-o com os dados do novo fragmento. Isso torna o resultado visualmente mais agradável.

0 - desabilitado, 1 - habilitado, 'auto' - habilitado se for um terminal.

<div id="output_format_pretty_grid_charset">
  ## output\_format\_pretty\_grid\_charset
</div>

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

Conjunto de caracteres para imprimir as bordas da grade. Conjuntos de caracteres disponíveis: ASCII, UTF-8 (padrão).

No modo interativo, o `clickhouse-client` alterna automaticamente para `ASCII` quando o terminal não oferece suporte a UTF-8 (conforme determinado pelas variáveis de ambiente `LC_ALL`, `LC_CTYPE` e `LANG`), a menos que essa configuração seja especificada explicitamente.

<div id="output_format_pretty_highlight_digit_groups">
  ## output\_format\_pretty\_highlight\_digit\_groups
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "Se estiver habilitado e a saída for um terminal, destaque com sublinhado cada grupo de dígitos correspondente a milhares, milhões etc."}]}]} />

Se estiver habilitado e a saída for um terminal, destaque com sublinhado cada grupo de dígitos correspondente a milhares, milhões etc.

<div id="output_format_pretty_highlight_trailing_spaces">
  ## output\_format\_pretty\_highlight\_trailing\_spaces
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Nova configuração."}]}]} />

Se estiver habilitado e a saída for um terminal, destaque os espaços à direita em cinza e com sublinhado.

<div id="output_format_pretty_max_column_name_width_cut_to">
  ## output\_format\_pretty\_max\_column\_name\_width\_cut\_to
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "24"},{"label": "Nova configuração"}]}]} />

Se o nome da coluna for muito longo, ele será truncado para este comprimento.
A coluna será truncada se for maior que `output_format_pretty_max_column_name_width_cut_to` mais `output_format_pretty_max_column_name_width_min_chars_to_cut`.

<div id="output_format_pretty_max_column_name_width_min_chars_to_cut">
  ## output\_format\_pretty\_max\_column\_name\_width\_min\_chars\_to\_cut
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "4"},{"label": "Nova configuração"}]}]} />

Número mínimo de caracteres a serem cortados se o nome da coluna for longo demais.
A coluna será cortada se for maior que `output_format_pretty_max_column_name_width_cut_to` mais `output_format_pretty_max_column_name_width_min_chars_to_cut`.

<div id="output_format_pretty_max_column_pad_width">
  ## output\_format\_pretty\_max\_column\_pad\_width
</div>

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

Largura máxima de preenchimento de todos os valores em uma coluna nos formatos Pretty.

<div id="output_format_pretty_max_rows">
  ## output\_format\_pretty\_max\_rows
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "1000"},{"label": "É melhor para a usabilidade — é preciso rolar menos."}]}]} />

Limite de linhas para formatos Pretty.

<div id="output_format_pretty_max_value_width">
  ## output\_format\_pretty\_max\_value\_width
</div>

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

Largura máxima do valor a ser exibido nos formatos Pretty. Se for maior, será cortado.
O valor 0 significa que ele nunca será cortado.

<div id="output_format_pretty_max_value_width_apply_for_single_value">
  ## output\_format\_pretty\_max\_value\_width\_apply\_for\_single\_value
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "Valores individuais em formatos Pretty não serão cortados."}]}]} />

Corte os valores (consulte a configuração `output_format_pretty_max_value_width`) apenas quando não se tratar de um valor individual em um bloco. Caso contrário, gere-o por completo, o que é útil para a consulta `SHOW CREATE TABLE`.

<div id="output_format_pretty_multiline_fields">
  ## output\_format\_pretty\_multiline\_fields
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Nova configuração"}]}]} />

Se ativado, os formatos Pretty renderizarão campos com várias linhas dentro da célula da tabela, preservando o contorno da tabela.
Caso contrário, eles serão renderizados como estão, o que pode deformar a tabela (uma vantagem de mantê-lo desativado é que ficará mais fácil copiar e colar valores com várias linhas).

<div id="output_format_pretty_named_tuples_as_json">
  ## output\_format\_pretty\_named\_tuples\_as\_json
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "1"},{"label": "Nova configuração para controlar se tuplas nomeadas no formato Pretty são exibidas como objetos JSON"}]}]} />

Controla se tuplas nomeadas no formato Pretty são exibidas como objetos JSON com formatação legível.

<div id="output_format_pretty_row_numbers">
  ## output\_format\_pretty\_row\_numbers
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "Melhora a usabilidade."}]}]} />

Adiciona números de linha antes de cada linha no formato de saída Pretty

<div id="output_format_pretty_single_large_number_tip_threshold">
  ## output\_format\_pretty\_single\_large\_number\_tip\_threshold
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.2"},{"label": "1000000"},{"label": "Exibe uma indicação numérica legível no lado direito da tabela se o bloco consistir em um único número que exceda esse valor (exceto 0)"}]}]} />

Exibe uma indicação numérica legível no lado direito da tabela se o bloco consistir em um único número que exceda esse valor (exceto 0)

<div id="output_format_pretty_squash_consecutive_ms">
  ## output\_format\_pretty\_squash\_consecutive\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "50"},{"label": "Nova configuração"}]}]} />

Aguarde o próximo bloco por até o número especificado de milissegundos e junte-o ao anterior antes de gravá-lo.
Isso evita a saída frequente de blocos muito pequenos, mas ainda permite exibir os dados de forma contínua.

<div id="output_format_pretty_squash_max_wait_ms">
  ## output\_format\_pretty\_squash\_max\_wait\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1000"},{"label": "Adiciona nova configuração"}]}]} />

Emite o bloco pendente nos formatos Pretty se tiver decorrido mais que o número especificado de milissegundos desde a saída anterior.

<div id="output_format_pretty_use_nbsp_for_padding">
  ## output\_format\_pretty\_use\_nbsp\_for\_padding
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "Nova configuração. Quando habilitada, o espaçamento de preenchimento na saída `Pretty` é renderizado com `U+00A0`, para que seja preservado ao copiar e colar em ferramentas que comprimem sequências de espaços comuns."}]}]} />

Quando habilitada, o espaçamento de preenchimento nos formatos de saída `Pretty` é renderizado com `U+00A0` em vez de um espaço ASCII.
A saída continua visualmente idêntica em fonte monoespaçada, mas o espaçamento de preenchimento é preservado em ferramentas que comprimem ou removem sequências de espaços comuns.
Só se aplica quando `output_format_pretty_grid_charset` é `UTF-8`.

<div id="output_format_protobuf_nullables_with_google_wrappers">
  ## output\_format\_protobuf\_nullables\_with\_google\_wrappers
</div>

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

Ao serializar colunas Nullable com wrappers do Google, serializa os valores padrão como wrappers vazios. Se estiver desativado, os valores padrão e NULL não serão serializados

<div id="output_format_schema">
  ## output\_format\_schema
</div>

O caminho do arquivo em que o esquema gerado automaticamente será salvo nos formatos [Cap'n Proto](/docs/pt-BR/reference/formats/CapnProto) ou [Protobuf](/docs/pt-BR/reference/formats/Protobuf/Protobuf).

<div id="output_format_sql_insert_include_column_names">
  ## output\_format\_sql\_insert\_include\_column\_names
</div>

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

Inclui os nomes das colunas na consulta INSERT

<div id="output_format_sql_insert_max_batch_size">
  ## output\_format\_sql\_insert\_max\_batch\_size
</div>

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

O número máximo de linhas em uma única instrução INSERT.

<div id="output_format_sql_insert_quote_names">
  ## output\_format\_sql\_insert\_quote\_names
</div>

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

Coloca os nomes das colunas entre caracteres '\`'

<div id="output_format_sql_insert_table_name">
  ## output\_format\_sql\_insert\_table\_name
</div>

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

O nome da tabela na consulta INSERT gerada na saída

<div id="output_format_sql_insert_use_replace">
  ## output\_format\_sql\_insert\_use\_replace
</div>

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

Use a instrução REPLACE em vez da instrução INSERT

<div id="output_format_trim_fixed_string">
  ## output\_format\_trim\_fixed\_string
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "Nova configuração para remover bytes nulos à direita de valores FixedString em formatos de saída de texto"}]}]} />

Remove bytes nulos à direita de valores FixedString em formatos de saída de texto. Por exemplo, `toFixedString('John', 8)` é exibido como `John` em vez de `John\0\0\0\0`.

<div id="output_format_tsv_crlf_end_of_line">
  ## output\_format\_tsv\_crlf\_end\_of\_line
</div>

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

Se definido como true, o fim de linha no formato TSV será \r\n em vez de \n.

<div id="output_format_values_escape_quote_with_quote">
  ## output\_format\_values\_escape\_quote\_with\_quote
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.2"},{"label": "0"},{"label": "Se true, escapa ' como ''; caso contrário, coloca entre aspas com \\'"}]}]} />

Se true, escapa ' como ''; caso contrário, coloca entre aspas com \\'

<div id="output_format_write_statistics">
  ## output\_format\_write\_statistics
</div>

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

Escreve estatísticas sobre linhas lidas, bytes e o tempo decorrido em formatos de saída adequados.

Ativado por padrão
