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

# Настройки формата output_format_*

> Настройки формата ClickHouse в автоматически сгенерированной группе 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
  }}>Тип</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="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": "Новая настройка: всегда выводить десятичную точку для чисел с плавающей запятой и чисел типа Decimal в текстовых форматах, даже если значение является целым числом."}]}]} />

Всегда выводить десятичную точку для чисел с плавающей запятой и чисел типа Decimal в текстовых форматах, даже если значение является целым числом. Например, выводить `1.` вместо `1`.

По умолчанию отключено.

<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": "По умолчанию в формате вывода Arrow используется сжатие lz4"}]}]} />

Метод сжатия для формата вывода Arrow. Поддерживаемые кодеки: lz4\_frame, zstd, none (без сжатия)

<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": "По умолчанию записывать Date в формате Arrow DATE32, а не как обычный UInt16."}]}]} />

Записывает значения Date как обычные 16-битные числа (при обратном чтении — как UInt16), а не преобразует их в 32-битный тип Arrow DATE32 (при обратном чтении — как 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": "По умолчанию для FixedString используется тип Arrow FIXED_SIZE_BINARY"}]}]} />

Использовать тип Arrow FIXED\_SIZE\_BINARY вместо Binary для столбцов FixedString.

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

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

Включает вывод типа LowCardinality как типа Dictionary 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": "ClickHouse допускает произвольные бинарные данные в типе String, хотя обычно в нём используется UTF-8. Parquet\/ORC\/Arrow Strings поддерживают только UTF-8. Поэтому для типа String в ClickHouse можно выбрать, какой тип данных Arrow использовать — String или Binary. Хотя Binary был бы более корректным и совместимым вариантом, использование String по умолчанию в большинстве случаев лучше соответствует ожиданиям пользователей."}]}]} />

Использовать тип Arrow String вместо Binary для столбцов 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": "Новая настройка для преобразования неподдерживаемых типов CH в бинарный формат Arrow вместо исключения UNKNOWN_TYPE."}]}]} />

Выводить типы, для которых нет преобразования, в виде необработанных двоичных данных. Если false — такие типы будут вызывать исключение 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": "Разрешить использование 64-битного типа индексов в словарях Arrow"}]}, {"id": "row-2","items": [{"label": "24.1"},{"label": "0"},{"label": "Разрешить использование 64-битного типа индексов в словарях Arrow"}]}]} />

Всегда использовать 64-битные целые числа для индексов словаря в формате 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": "Новая настройка для использования собственного механизма записи ClickHouse для форматов Arrow и ArrowStream вместо библиотеки Apache Arrow."}]}]} />

Использовать собственный механизм записи ClickHouse для форматов Arrow и ArrowStream вместо варианта на основе библиотеки 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": "По умолчанию использовать знаковый тип индексов для словарей Arrow, как рекомендуется"}]}]} />

Использовать знаковые целые числа для индексов словарей в формате Arrow

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

Кодек сжатия, используемый для вывода данных. Возможные значения: '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": "Новая настройка для указания subject, используемого для регистрации схемы в Confluent Schema Registry при записи в формате вывода AvroConfluent."}]}]} />

Для формата вывода AvroConfluent: subject, под которым схема регистрируется в Confluent Schema Registry. Обязательно при записи вывода AvroConfluent.

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

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

Максимальное число строк в файле (если это поддерживается хранилищем)

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

Для формата Avro: шаблон регулярного выражения для столбцов типа String, которые следует выбирать как строки AVRO.

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

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

Интервал синхронизации, в байтах.

<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": "Добавлена новая настройка, позволяющая записывать имена типов в двоичном формате в формате вывода RowBinaryWithNamesAndTypes"}]}]} />

Записывает типы данных в двоичном формате вместо имён типов в формате вывода 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": "Добавлена новая настройка для записи значений типа JSON в виде значений JSON-строки в формате вывода RowBinary"}]}]} />

Записывает значения типа данных [JSON](/docs/ru/reference/data-types/newjson) в виде значений JSON [String](/docs/ru/reference/data-types/string) в формате вывода RowBinary.

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

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

Использовать тип BSON String вместо Binary для столбцов типа 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": "Добавлена возможность изменять уровень сжатия в выводе запроса"}]}]} />

Уровень сжатия по умолчанию, если вывод запроса сжат. Эта настройка применяется, когда запрос `SELECT` содержит `INTO OUTFILE` или при записи в табличные функции `file`, `url`, `hdfs`, `s3` или `azureBlobStorage`.

Возможные значения: от `1` до `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": "Позволяет изменять логарифм окна zstd в выводе запроса при использовании сжатия zstd"}]}]} />

Можно использовать, если для вывода выбран метод сжатия `zstd`. Если значение больше `0`, этот параметр явно задаёт размер окна сжатия (степень `2`) и включает для сжатия zstd режим дальнего диапазона. Это может помочь добиться более высокого коэффициента сжатия.

Возможные значения: неотрицательные числа. Обратите внимание: если значение слишком маленькое или слишком большое, `zstdlib` сгенерирует исключение. Обычно используются значения от `20` (размер окна = `1MB`) до `30` (размер окна = `1GB`).

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

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

Если задать значение true, в формате CSV в конце строки будет использоваться \r\n вместо \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": "Новая настройка. Когда включен output_format_csv_serialize_tuple_into_separate_columns, заголовок CSVWithNames/CSVWithNamesAndTypes теперь раскрывает столбцы Tuple в их конечные поля, чтобы ширина заголовка соответствовала данным. Установите false, чтобы вернуть прежний заголовок с одним именем."}]}]} />

Когда включен [output\_format\_csv\_serialize\_tuple\_into\_separate\_columns](/docs/ru/reference/settings/formats/output-format#output_format_csv_serialize_tuple_into_separate_columns), строки заголовка `CSVWithNames` и `CSVWithNamesAndTypes` раскрывают каждый столбец Tuple в его конечные поля (имена с точками, такие как `t.a`, `t.b`, и имена конечных типов), так что заголовок содержит столько же столбцов, сколько и данные. Для `CustomSeparated*` это раскрытие применяется только если `format_custom_escaping_rule = 'CSV'` и `format_custom_field_delimiter` — одиночный символ, совпадающий с `format_csv_delimiter`; в противном случае (например, при разделителе табуляции по умолчанию или `format_custom_field_delimiter = '|'`) заголовок остается нераскрытым, чтобы по-прежнему соответствовать данным. Установите значение `0`, чтобы сохранить прежнее поведение, при котором заголовок содержит одно имя и один тип Tuple верхнего уровня.

Примечание: раскрытый заголовок не считывается обратно в Tuple по имени, когда `input_format_with_names_use_header = 1`. Чтобы прочитать такие данные обратно в Tuple, либо установите для этой настройки значение `0` при выводе, либо читайте с `input_format_with_names_use_header = 0` (а для форматов `*WithNamesAndTypes` — `CSVWithNamesAndTypes` и `CustomSeparatedWithNamesAndTypes` — также `input_format_with_types_use_header = 0`, поскольку иначе раскрытая строка типов будет проверяться на соответствие единственному входному полю Tuple верхнего уровня и будет отклонена).

<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": "Добавлен новый способ интерпретации Tuple в формате CSV."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "Добавлен новый способ интерпретации Tuple в формате CSV."}]}]} />

Если установлено значение true, то Tuple в формате CSV сериализуются в отдельные столбцы (то есть их вложенность теряется)

<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": "По умолчанию не выводить конечные нули в текстовом представлении типов Decimal для более наглядного вывода"}]}]} />

Выводить конечные нули при отображении значений Decimal. Например, 1.230000 вместо 1.23.

По умолчанию отключено.

<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": "Новая настройка для управления количеством десятичных знаков при выводе чисел с плавающей запятой"}]}]} />

Если значение не равно нулю, вывод чисел с плавающей запятой (`Float32`, `Float64`, `BFloat16`) форматируется максимум с таким количеством знаков после десятичной точки (конечные нули удаляются).
Если значение равно 0 (по умолчанию), используется кратчайшее представление, допускающее точное восстановление значения.

Значения, слишком большие для записи в фиксированном формате, а также значения, модуль которых настолько мал, что округление до запрошенной точности привело бы к потере всех значащих цифр (мантисса стала бы `±0`), вместо этого выводятся в научной нотации. В этих случаях мантисса может содержать больше знаков дробной части, чем указано в запрошенной точности.

Допустимый диапазон: от 0 до 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": "Новая настройка, задающая высоту выходного изображения для форматов вывода изображений, таких как PNG."}]}]} />

Высота выходного изображения в пикселях для форматов вывода изображений, таких как `PNG`.

Значение по умолчанию: 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": "Новая настройка, определяющая, будут ли форматы вывода изображений, такие как PNG, отображаться прямо в терминале с помощью inline-протокола изображений."}]}]} />

Для форматов вывода изображений, таких как `PNG`, выводить изображение прямо в терминал с помощью inline-протокола изображений вместо записи сырых байтов изображения.

Возможные значения:

* \`\` (пусто) — записывать сырые байты изображения (по умолчанию).
* `iterm` — использовать inline-протокол изображений iTerm2.
* `kitty` — использовать графический протокол Kitty.
* `sixel` — использовать протокол Sixel.
* `auto` — если вывод направлен в терминал, определить его возможности и использовать `iterm`, `kitty` или `sixel` (в этом порядке); в противном случае записывать сырые байты изображения.

Значение по умолчанию: \`\` (пусто).

<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": "Новая настройка, задающая ширину выводимого изображения для форматов вывода изображений, таких как PNG."}]}]} />

Ширина выводимого изображения в пикселях для форматов вывода изображений, таких как `PNG`.

Значение по умолчанию: 1024.

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

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

Включает вывод всех строк в виде JSON-массива в формате [JSONEachRow](/docs/ru/reference/formats/JSON/JSONEachRow).

Возможные значения:

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

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

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

Управляет экранированием символов прямой косой черты в строковом выводе в формате JSON. Это нужно для совместимости с JavaScript. Не путайте с обратной косой чертой, которая экранируется всегда.

Включено по умолчанию.

<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": "новая настройка"}]}]} />

Сериализует столбцы типа Map в JSON-массивы кортежей.

Отключено по умолчанию.

<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": "По умолчанию позволяет сериализовать именованные кортежи как объекты JSON в JSON-форматах"}]}]} />

Сериализует столбцы именованных кортежей как объекты JSON.

Включено по умолчанию.

<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": "По умолчанию выводить значения в удобочитаемом виде в формате вывода JSON"}]}]} />

Этот параметр определяет, как вложенные структуры, такие как Tuples, Maps и Arrays, отображаются в массиве `data` при использовании формата вывода JSON.

Например, вместо вывода:

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

Включено по умолчанию.

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

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

Управляет тем, будут ли 64-битные [числа с плавающей точкой](/docs/ru/reference/data-types/float) заключаться в кавычки при выводе в форматах JSON\*.

По умолчанию отключено.

<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": "По умолчанию отключает заключение 64-битных целых чисел в кавычки в JSON"}]}]} />

Управляет тем, будут ли 64-битные и более крупные [целые числа](/docs/ru/reference/data-types/int-uint) (например, `UInt64` или `Int128`) заключаться в кавычки при выводе в формате [JSON](/docs/ru/reference/formats/JSON/JSON).
По умолчанию такие целые числа заключаются в кавычки. Такое поведение совместимо с большинством реализаций JavaScript.

Возможные значения:

* 0 — Целые числа выводятся без кавычек.
* 1 — Целые числа заключаются в кавычки.

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

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

Управляет выводом десятичных чисел в кавычках в формате вывода JSON.

Отключено по умолчанию.

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

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

Включает вывод значений `+nan`, `-nan`, `+inf`, `-inf` в формате вывода [JSON](/docs/ru/reference/formats/JSON/JSON).

Возможные значения:

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

<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" />

Пропускать пары ключ-значение со значением NULL при сериализации столбцов именованных кортежей в виде объектов JSON. Действует только если 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" />

Управляет проверкой последовательностей UTF-8 в формате вывода JSON и не влияет на форматы JSON/JSONCompact/JSONColumnsWithMetadata — в них проверка UTF-8 выполняется всегда.

По умолчанию отключено.

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

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

Если включено, специальные символы в Markdown экранируются.

[Common Mark](https://spec.commonmark.org/0.30/#example-12) определяет следующие специальные символы, которые можно экранировать с помощью :

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

Возможные значения:

* 0 — Отключено.
* 1 — Включено.

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

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

Способ представления UUID в формате 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": "Добавлена новая настройка, позволяющая записывать имена типов в двоичном виде в формате вывода Native"}]}]} />

Записывает типы данных в двоичном виде вместо имён типов в формате вывода 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": "Добавлена уплощенная сериализация Dynamic/JSON для формата Native"}]}]} />

Записывает данные из столбцов [JSON](/docs/ru/reference/data-types/newjson) и [Dynamic](/docs/ru/reference/data-types/dynamic) в уплощенном формате (все типы/пути — как отдельные подстолбцы).

<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": "Добавлена новая настройка, позволяющая записывать JSON-столбец как один столбец String в Native format"}]}]} />

Записывает данные [JSON](/docs/ru/reference/data-types/newjson) столбца как столбец [String](/docs/ru/reference/data-types/string), содержащий JSON-строки, вместо стандартной нативной JSON-сериализации.

<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": "новая настройка"}]}]} />

Размер блока сжатия в байтах для формата вывода 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 поддерживают множество методов сжатия, включая lz4 и zstd. ClickHouse поддерживает все эти методы сжатия. Некоторые менее функциональные инструменты, например 'duckdb', не поддерживают более быстрый метод сжатия `lz4`, поэтому по умолчанию используется zstd."}]}, {"id": "row-2","items": [{"label": "23.3"},{"label": "lz4_frame"},{"label": "По умолчанию используется сжатие lz4 в выходном формате ORC"}]}]} />

Метод сжатия для выходного формата ORC. Поддерживаемые кодеки: lz4, snappy, zlib, zstd, none (без сжатия)

<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": "Для строкового столбца в формате вывода ORC: если число различных значений превышает эту долю от общего числа строк с не-NULL значениями, кодирование с использованием словаря отключается. В противном случае оно включается"}]}]} />

Для строкового столбца в формате вывода ORC: если число различных значений превышает эту долю от общего числа строк с не-NULL значениями, кодирование с использованием словаря отключается. В противном случае оно включается

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

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

Целевой шаг индекса строк для выходного формата 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": "ClickHouse допускает хранение произвольных бинарных данных в типе String, хотя обычно в нём используется UTF-8. Строки Parquet\/ORC\/Arrow поддерживают только UTF-8. Поэтому для типа String в ClickHouse можно выбрать, какой тип данных Arrow использовать — String или Binary. Хотя Binary был бы более корректным и совместимым вариантом, использование String по умолчанию в большинстве случаев лучше соответствует ожиданиям пользователей."}]}]} />

Использовать тип ORC String вместо Binary для столбцов 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": "Название часового пояса для ORC writer; часовой пояс ORC writer по умолчанию — GMT."}]}]} />

Название часового пояса для ORC writer; часовой пояс ORC writer по умолчанию — GMT.

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

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

Включает или отключает параллельное форматирование данных. Поддерживается только для форматов [TSV](/docs/ru/reference/formats/TabSeparated/TabSeparated), [TSKV](/docs/ru/reference/formats/TabSeparated/TSKV), [CSV](/docs/ru/reference/formats/CSV/CSV) и [JSONEachRow](/docs/ru/reference/formats/JSON/JSONEachRow).

Возможные значения:

* 1 — Включено.
* 0 — Отключено.

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

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

Проверять размер страницы через каждые столько строк. Рассмотрите возможность уменьшить значение, если у вас есть столбцы, у которых средний размер значений превышает несколько КБ.

<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": "Новая настройка."}]}]} />

Приблизительное количество битов для каждого уникального значения в bloom-фильтрах Parquet. Оценочные уровни ложноположительных срабатываний:

* 6   бит — 10%
* 10.5 бита —  1%
* 16.9 бита —  0.1%
* 26.4 бита —  0.01%
* 41   бит —  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": "Новая настройка"}]}]} />

Где в файле Parquet размещать bloom-фильтры. Bloom-фильтры будут записываться порциями примерно такого размера. В частности:

* если значение равно 0, bloom-фильтры каждой группы строк записываются сразу после соответствующей группы строк,
  * если значение больше общего размера всех bloom-фильтров, bloom-фильтры для всех групп строк будут накапливаться в памяти, а затем записываться вместе ближе к концу файла,
  * в противном случае bloom-фильтры будут накапливаться в памяти и записываться, как только их общий размер превысит это значение.

<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 поддерживают множество методов сжатия, включая 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 (без сжатия)

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

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

Целевой размер страницы в байтах до сжатия.

<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": "Добавлена настройка совместимости для небольшого изменения, нарушающего совместимость и введённого ещё в 24.12."}]}, {"id": "row-2","items": [{"label": "24.12"},{"label": "0"},{"label": "Записывать значения Date как Date32 вместо простого UInt16 (это два типа Parquet, наиболее близких к Date)."}]}]} />

Записывать значения Date как простые 16-битные числа (при чтении возвращаются как UInt16) вместо преобразования в 32-битный тип DATE в Parquet (при чтении возвращается как 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": "Записывать значения DateTime как DateTime64(3), а не как UInt32 (это два типа Parquet, наиболее близкие к DateTime)."}]}]} />

Записывает значения DateTime как исходную Unix-временную метку (при обратном чтении — как UInt32), а не преобразует их в миллисекунды (при обратном чтении — как 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": "По умолчанию включить запись Enum как массива байтов в Parquet"}]}, {"id": "row-2","items": [{"label": "25.7"},{"label": "0"},{"label": "Записывать enum с использованием физического типа Parquet: BYTE_ARRAY и логического типа: ENUM"}]}]} />

Записывать enum с использованием физического типа Parquet: BYTE\_ARRAY и логического типа: 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": "По умолчанию использовать тип Parquet FIXED_LENGTH_BYTE_ARRAY для FixedString"}]}]} />

Использовать тип Parquet FIXED\_LEN\_BYTE\_ARRAY вместо Binary для столбцов типа 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": "Новая настройка, позволяющая записывать информацию о геопространственных столбцах в метаданные Parquet и кодировать столбцы в формате WKB."}]}]} />

Позволяет записывать информацию о геопространственных столбцах в метаданные Parquet и кодировать столбцы в формате 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": "новая настройка"}]}]} />

Если размер словаря превышает указанное количество байт, используется кодирование без словаря. Установите значение 0, чтобы отключить кодирование с использованием словаря.

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

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

Выполняет кодирование Parquet в нескольких потоках.

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

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

Целевой размер группы строк в количестве строк.

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

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

Целевой размер группы строк в байтах, до сжатия.

<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": "ClickHouse допускает произвольные двоичные данные в типе String, который обычно содержит UTF-8. Строки Parquet\/ORC\/Arrow поддерживают только UTF-8. Поэтому для типа String в ClickHouse можно выбрать, какой тип данных Arrow использовать — String или Binary. Хотя Binary был бы более корректным и совместимым вариантом, использование String по умолчанию в большинстве случаев лучше соответствует ожиданиям пользователей."}]}]} />

Использовать тип String в Parquet вместо Binary для столбцов 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": "Добавлена поддержка записи bloom-фильтров в файлы Parquet."}]}]} />

Записывать bloom-фильтры в файлы 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": "Новая настройка"}]}]} />

Добавляет контрольные суммы CRC32 в заголовки страниц 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": "Добавлена возможность записывать индекс страниц в файлы Parquet."}]}]} />

Записывает индекс столбцов и индекс смещений (то есть статистику по каждой странице данных, которую можно использовать для pushdown фильтров при чтении) в файлы 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": "Настройка изменена: теперь также допускается значение auto; ANSI-последовательности экранирования отключаются, если вывод не направлен в tty"}]}]} />

Использовать ANSI-последовательности экранирования в форматах Pretty. 0 — отключено, 1 — включено, 'auto' — включено, если вывод идёт в терминал.

<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": "Добавлена настройка для отображения имён столбцов в нижнем колонтитуле при большом количестве строк. Пороговое значение задаётся параметром output_format_pretty_display_footer_column_names_min_rows."}]}]} />

Отображает имена столбцов в нижнем колонтитуле, если в таблице много строк.

Возможные значения:

* 0 — Имена столбцов не отображаются в нижнем колонтитуле.
* 1 — Имена столбцов отображаются в нижнем колонтитуле, если количество строк больше или равно пороговому значению, заданному в [output\_format\_pretty\_display\_footer\_column\_names\_min\_rows](/docs/ru/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)─┘
```

<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": "Добавлена настройка, управляющая пороговым значением для output_format_pretty_display_footer_column_names_min_rows. Значение по умолчанию — 50."}]}]} />

Задает минимальное количество строк, при котором будет отображаться нижний колонтитул с именами столбцов, если включена настройка [output\_format\_pretty\_display\_footer\_column\_names](/docs/ru/reference/settings/formats/output-format#output_format_pretty_display_footer_column_names).

<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": "новая настройка"}]}]} />

Если настройка включена и таблица широкая, но содержит мало строк, формат Pretty будет выводить её так же, как формат Vertical.
Подробную настройку этого поведения см. в `output_format_pretty_fallback_to_vertical_max_rows_per_chunk` и `output_format_pretty_fallback_to_vertical_min_table_width`.

<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": "Новая настройка"}]}]} />

Переключение на формат Vertical (см. `output_format_pretty_fallback_to_vertical`) будет выполняться только в том случае, если количество записей во фрагменте не превышает указанное значение.

<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": "новая настройка"}]}]} />

Переключение на формат Vertical (см. `output_format_pretty_fallback_to_vertical`) произойдёт только в том случае, если количество столбцов больше указанного значения.

<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": "новая настройка"}]}]} />

Переход к формату Vertical (см. `output_format_pretty_fallback_to_vertical`) выполняется только если суммарная длина столбцов таблицы не меньше указанного значения либо хотя бы одно значение содержит символ перевода строки.

<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": "Новая настройка, которая делает форматы Pretty более удобными для восприятия."}]}]} />

Если данные, отображаемые в форматах Pretty, поступили в нескольких фрагментах, даже с задержкой, но следующий фрагмент имеет ту же ширину столбцов, что и предыдущий, используйте ANSI-последовательности экранирования, чтобы вернуться к предыдущей строке и перезаписать нижний колонтитул предыдущего фрагмента, продолжив его данными из нового фрагмента. Это делает результат визуально более приятным.

0 — отключено, 1 — включено, 'auto' — включено при выводе в терминал.

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

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

Набор символов для отображения границ таблицы. Доступные наборы символов: ASCII, UTF-8 (по умолчанию).

В interactive mode `clickhouse-client` автоматически переключается на `ASCII`, если терминал не поддерживает UTF-8 (это определяется переменными окружения `LC_ALL`, `LC_CTYPE` и `LANG`), если только этот параметр не задан явно.

<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": "Если параметр включен и вывод осуществляется в терминал, цифры, соответствующие тысячам, миллионам и т. д., подчеркиваются."}]}]} />

Если параметр включен и вывод осуществляется в терминал, цифры, соответствующие тысячам, миллионам и т. д., подчеркиваются.

<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": "Новая настройка."}]}]} />

Если настройка включена и вывод идет в терминал, конечные пробелы подсвечиваются серым цветом и подчеркиваются.

<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": "новая настройка"}]}]} />

Если имя столбца слишком длинное, оно будет обрезано до этой длины.
Имя столбца будет обрезано, если его длина превышает сумму `output_format_pretty_max_column_name_width_cut_to` и `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": "новая настройка"}]}]} />

Минимальное количество символов, на которое нужно сократить имя столбца, если оно слишком длинное.
Имя столбца будет сокращено, если его длина превышает `output_format_pretty_max_column_name_width_cut_to` плюс `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" />

Максимальная ширина заполнения для всех значений в столбце в форматах 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": "Так удобнее: меньше прокручивать."}]}]} />

Ограничение количества строк для форматов Pretty.

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

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

Максимальная ширина значения, отображаемого в форматах Pretty. Если ширина больше, значение будет обрезано.
Значение 0 означает, что обрезка не выполняется.

<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": "Одиночные значения в форматах Pretty не будут обрезаться."}]}]} />

Обрезать значения (см. настройку `output_format_pretty_max_value_width`) только в том случае, если это не одиночное значение в блоке. В противном случае выводить его полностью, что особенно полезно для запроса `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": "Новая настройка"}]}]} />

Если включено, форматы Pretty будут отображать многострочные поля внутри ячейки таблицы, благодаря чему сохранятся границы таблицы.
Если нет, они будут отображаться как есть, что может исказить таблицу (при этом у отключения этой настройки есть и плюс: многострочные значения будет проще копировать и вставлять).

<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": "Новая настройка, определяющая, выводятся ли именованные Tuple в формате Pretty как объекты JSON"}]}]} />

Определяет, выводятся ли именованные Tuple в формате Pretty в виде красиво отформатированных объектов JSON.

<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": "Это удобнее в использовании."}]}]} />

Добавляет номера перед каждой строкой в формате вывода 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": "Выводить справа от таблицы понятную числовую подсказку, если блок состоит из одного числа, превышающего это значение (кроме 0)"}]}]} />

Выводить справа от таблицы понятную числовую подсказку, если блок состоит из одного числа, превышающего это значение (кроме 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": "Добавлена новая настройка"}]}]} />

Ожидает следующий блок в течение указанного количества миллисекунд и перед выводом объединяет его с предыдущим.
Это позволяет избежать слишком частого вывода слишком маленьких блоков, сохраняя при этом возможность отображать данные в режиме стриминга.

<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": "Добавлена новая настройка"}]}]} />

Выводить отложенный блок в форматах Pretty, если с момента предыдущего вывода прошло больше указанного количества миллисекунд.

<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": "Новая настройка. Если включена, дополнение в форматах вывода `Pretty` отображается с помощью `U+00A0`, поэтому оно сохраняется при копировании и вставке через инструменты, которые сжимают последовательности обычных пробелов."}]}]} />

Если включено, дополнение в форматах вывода `Pretty` отображается с помощью `U+00A0` вместо пробела ASCII.
В моноширинном шрифте вывод визуально остается тем же, но дополнение сохраняется при использовании инструментов, которые сжимают или обрезают последовательности обычных пробелов.
Действует только если `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" />

При сериализации столбцов с типом Nullable с помощью обёрток Google значения по умолчанию сериализуются как пустые обёртки. Если этот параметр отключён, значения по умолчанию и значения NULL не сериализуются

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

Путь к файлу, в который будет сохранена автоматически сгенерированная схема в формате [Cap'n Proto](/docs/ru/reference/formats/CapnProto) или [Protobuf](/docs/ru/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" />

Добавлять имена столбцов в запрос INSERT

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

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

Максимальное количество строк в одном операторе INSERT.

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

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

Заключать имена столбцов в символы «\`»

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

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

Название таблицы в выводимом запросе INSERT

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

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

Использовать оператор REPLACE вместо оператора 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": "Новая настройка для удаления завершающих нулевых байтов из значений FixedString в текстовых форматах вывода"}]}]} />

Удаляет завершающие null-байты из значений FixedString в текстовых форматах вывода. Например, `toFixedString('John', 8)` выводится как `John`, а не `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" />

Если установлено значение true, в формате TSV в качестве конца строки будет использоваться \r\n вместо \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": "Если true, экранировать ' как '', иначе использовать \\'"}]}]} />

Если true, экранировать ' как '', иначе использовать \\'

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

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

Записывает статистику о количестве прочитанных строк, байтов и затраченном времени в подходящих форматах вывода.

Включено по умолчанию
