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

# Paramètres des formats

> Paramètres contrôlant les formats d’entrée et de sortie.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  const cells = [["Type", <Badge color="surface">{type}</Badge>], ["Valeur par défaut", <Badge color="surface">{default_value}</Badge>]];
  if (changeable_without_restart) {
    const isYes = String(changeable_without_restart).trim().toLowerCase() === "yes";
    const badge = isYes ? <Badge icon="check" stroke color="green" size="sm">Oui</Badge> : <Badge icon="x" stroke color="red" size="sm">Non</Badge>;
    cells.push(["Modifiable sans redémarrage", badge]);
  }
  return <table>
      <thead>
        <tr>
          {cells.map(([h]) => <th key={h}>{h}</th>)}
        </tr>
      </thead>
      <tbody>
        <tr>
          {cells.map(([h, v]) => <td key={h}>{v}</td>)}
        </tr>
      </tbody>
    </table>;
};

export const galaxyOnClick = eventName => () => {
  try {
    if (typeof window !== "undefined" && window.galaxy && eventName) {
      window.galaxy.track(eventName, {
        interaction: "click"
      });
    }
  } catch (e) {}
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Fonctionnalité en bêta. 
                <u>
                    <a href="/docs/beta-and-experimental-features#beta-features">
                        En savoir plus.
                    </a>
                </u>
            </span>
        </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Fonctionnalité expérimentale. <u><a href="/docs/beta-and-experimental-features#experimental-features">En savoir plus.</a></u>
        </div>;
};

Ces paramètres sont générés automatiquement à partir du [code source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/FormatFactorySettings.h).

<div id="allow_special_bool_values_inside_variant">
  ## allow\_special\_bool\_values\_inside\_variant
</div>

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

Permet d'interpréter les valeurs Bool à l'intérieur du type Variant à partir de valeurs booléennes textuelles spéciales comme "on", "off", "enable", "disable", etc.

<div id="bool_false_representation">
  ## bool\_false\_representation
</div>

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

Texte utilisé pour représenter la valeur booléenne false dans les formats TSV/CSV/Vertical/Pretty.

<div id="bool_true_representation">
  ## bool\_true\_representation
</div>

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

Texte utilisé pour représenter la valeur booléenne `true` dans les formats TSV/CSV/Vertical/Pretty.

<div id="check_conversion_from_numbers_to_enum">
  ## check\_conversion\_from\_numbers\_to\_enum
</div>

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

Lève une exception lors de la conversion de Numbers en Enum si la valeur n'existe pas dans Enum.

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

**Exemple**

```text theme={null}
CREATE TABLE tab (
  val Enum('first' = 1, 'second' = 2, 'third' = 3)
) ENGINE = Memory;

INSERT INTO tab SETTINGS check_conversion_from_numbers_to_enum = 1 VALUES (4); -- returns an error
```

<div id="column_names_for_schema_inference">
  ## column\_names\_for\_schema\_inference
</div>

La liste des noms de colonnes à utiliser pour l’inférence du schéma dans les formats dépourvus de noms de colonnes. Format : 'column1,column2,column3,...'

<div id="date_time_64_output_format_cut_trailing_zeros_align_to_groups_of_thousands">
  ## date\_time\_64\_output\_format\_cut\_trailing\_zeros\_align\_to\_groups\_of\_thousands
</div>

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

Supprime dynamiquement les zéros finaux des valeurs datetime64 afin d'ajuster l'échelle de sortie à \[0, 3, 6],
correspondant à « secondes », « millisecondes » et « microsecondes »

<div id="date_time_input_format">
  ## date\_time\_input\_format
</div>

<SettingsInfoBlock type="DateTimeInputFormat" default_value="best_effort" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "best_effort"},{"label": "Ergonomie améliorée"}]}]} />

Permet de choisir un parseur pour la représentation textuelle de la date et de l’heure.

Ce paramètre ne s’applique pas aux [fonctions de date et d’heure](/fr/reference/functions/regular-functions/date-time-functions).

Valeurs possibles :

* `'best_effort'` — Active le parsing étendu.

  ClickHouse peut analyser le format de base `YYYY-MM-DD HH:MM:SS` ainsi que tous les formats de date et d’heure [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). Par exemple, `'2018-06-08T01:02:03.000Z'`.

* `'best_effort_us'` — Semblable à `best_effort` (voir la différence avec [parseDateTimeBestEffortUS](/fr/reference/functions/regular-functions/type-conversion-functions#parseDateTimeBestEffortUS)

* `'basic'` — Utilise le parseur de base.

  ClickHouse peut analyser uniquement le format de base `YYYY-MM-DD HH:MM:SS` ou `YYYY-MM-DD`. Par exemple, `2019-08-20 10:18:56` ou `2019-08-20`.

Voir aussi :

* [Type de données DateTime.](/fr/reference/data-types/datetime)
* [Fonctions de manipulation des dates et heures.](/fr/reference/functions/regular-functions/date-time-functions)

<div id="date_time_output_format">
  ## date\_time\_output\_format
</div>

<SettingsInfoBlock type="DateTimeOutputFormat" default_value="simple" />

Permet de choisir différents formats de sortie pour la représentation textuelle de la date et de l’heure.

Valeurs possibles :

* `simple` - Format de sortie simple.

  ClickHouse affiche la date et l’heure au format `YYYY-MM-DD hh:mm:ss`. Par exemple, `2019-08-20 10:18:56`. Le calcul est effectué selon le fuseau horaire du type de données (s’il est présent) ou celui du serveur.

* `iso` - Format de sortie ISO.

  ClickHouse affiche la date et l’heure au format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) `YYYY-MM-DDThh:mm:ssZ`. Par exemple, `2019-08-20T10:18:56Z`. Notez que la sortie est en UTC (`Z` signifie UTC).

* `unix_timestamp` - Format de sortie Unix timestamp.

  ClickHouse affiche la date et l’heure au format [Unix timestamp](https://en.wikipedia.org/wiki/Unix_time). Par exemple, `1566285536`.

Voir aussi :

* [Type de données DateTime.](/fr/reference/data-types/datetime)
* [Fonctions pour manipuler les dates et les heures.](/fr/reference/functions/regular-functions/date-time-functions)

<div id="date_time_overflow_behavior">
  ## date\_time\_overflow\_behavior
</div>

<SettingsInfoBlock type="DateTimeOverflowBehavior" default_value="ignore" />

Définit le comportement lorsque [Date](/fr/reference/data-types/date), [Date32](/fr/reference/data-types/date32), [DateTime](/fr/reference/data-types/datetime), [DateTime64](/fr/reference/data-types/datetime64) ou des entiers sont convertis en Date, Date32, DateTime ou DateTime64, mais que la valeur ne peut pas être représentée dans le type de résultat.

Valeurs possibles :

* `ignore` — Ignore les dépassements sans signaler d'erreur. Les résultats sont indéfinis.
* `throw` — Lève une exception en cas de dépassement.
* `saturate` — Sature le résultat. Si la valeur est inférieure à la plus petite valeur pouvant être représentée par le type cible, le résultat retenu est la plus petite valeur représentable. Si la valeur est supérieure à la plus grande valeur pouvant être représentée par le type cible, le résultat retenu est la plus grande valeur représentable.

Valeur par défaut : `ignore`.

<div id="errors_output_format">
  ## errors\_output\_format
</div>

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

Méthode d’écriture des erreurs dans la sortie texte.

<div id="format_avro_schema_registry_connection_timeout">
  ## format\_avro\_schema\_registry\_connection\_timeout
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1"},{"label": "Nouveau paramètre permettant de contrôler le délai d’expiration de connexion (en secondes) du client HTTP Confluent Schema Registry utilisé par le format AvroConfluent."}]}]} />

Pour le format AvroConfluent : délai d’expiration de connexion, en secondes, du client HTTP Confluent Schema Registry. Utilisé à la fois pour la récupération du schéma et son enregistrement. Doit être supérieur à 0 et inférieur à 600 (10 minutes).

<div id="format_avro_schema_registry_max_retries">
  ## format\_avro\_schema\_registry\_max\_retries
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "5"},{"label": "Nouveau paramètre qui contrôle le nombre maximal de réessais en cas d'échecs transitoires (dépassements de délai de transport, connexion refusée, erreurs DNS, HTTP 5xx/408/429) lors de la communication avec le Confluent Schema Registry. Définissez la valeur sur 0 pour désactiver les réessais. Le comportement précédent (aucun réessai) est conservé par `compatibility = '26.5'`."}]}]} />

Pour le format AvroConfluent : nombre maximal de réessais en cas d'échecs transitoires lors de la communication avec le Confluent Schema Registry (dépassements de délai de transport, connexion refusée, erreurs DNS, HTTP 5xx/408/429). Définissez la valeur sur 0 pour désactiver les réessais. La valeur maximale autorisée est 20. Les erreurs de validation du schéma (HTTP 409, JSON Avro mal formé) ne font pas l'objet de réessais.

<div id="format_avro_schema_registry_receive_timeout">
  ## format\_avro\_schema\_registry\_receive\_timeout
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1"},{"label": "Nouveau paramètre permettant de contrôler le délai d’attente de réception (en secondes) du client HTTP de Confluent Schema Registry utilisé par le format AvroConfluent."}]}]} />

Pour le format AvroConfluent : délai d’attente de réception, en secondes, du client HTTP de Confluent Schema Registry. Utilisé à la fois pour la récupération du schéma et l’enregistrement du schéma. Doit être supérieur à 0 et inférieur à 600 (10 minutes).

<div id="format_avro_schema_registry_retry_initial_backoff_ms">
  ## format\_avro\_schema\_registry\_retry\_initial\_backoff\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "100"},{"label": "Nouveau paramètre qui contrôle le backoff initial (en millisecondes) avant de réessayer une requête Confluent Schema Registry qui a échoué. Le backoff double à chaque nouvelle tentative, avec un plafond de 10 secondes. N'a aucun effet lorsque `format_avro_schema_registry_max_retries = 0` (comportement antérieur à la version 26.6, restauré par `compatibility = '26.5'`)."}]}]} />

Pour le format AvroConfluent : backoff initial, en millisecondes, avant de réessayer une requête Confluent Schema Registry qui a échoué. Le backoff double à chaque nouvelle tentative, avec un plafond de 10 secondes. Doit être supérieur à 0 et inférieur ou égal à 60000.

<div id="format_avro_schema_registry_send_timeout">
  ## format\_avro\_schema\_registry\_send\_timeout
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1"},{"label": "Nouveau paramètre permettant de contrôler le délai d'expiration d'envoi (en secondes) du client HTTP Confluent Schema Registry utilisé par le format AvroConfluent."}]}]} />

Pour le format AvroConfluent : délai d'expiration d'envoi, en secondes, du client HTTP Confluent Schema Registry. Utilisé à la fois pour la récupération du schéma et l'enregistrement du schéma. Doit être supérieur à 0 et inférieur à 600 (10 minutes).

<div id="format_avro_schema_registry_url">
  ## format\_avro\_schema\_registry\_url
</div>

Pour le format AvroConfluent : URL de Confluent Schema Registry.

<div id="format_binary_max_array_size">
  ## format\_binary\_max\_array\_size
</div>

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

Taille maximale autorisée pour Array au format RowBinary. Cela évite d’allouer une grande quantité de mémoire en cas de données corrompues. 0 signifie qu’il n’y a pas de limite

<div id="format_binary_max_object_size">
  ## format\_binary\_max\_object\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "100000"},{"label": "Nouveau paramètre limitant la taille maximale d’un objet lors de la désérialisation binaire du type JSON"}]}]} />

Le nombre maximal de chemins autorisé dans un même objet pour le format RowBinary du type JSON. Cela évite d’allouer une grande quantité de mémoire en cas de données corrompues. 0 signifie qu’il n’y a pas de limite

<div id="format_binary_max_string_size">
  ## format\_binary\_max\_string\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.12"},{"label": "1073741824"},{"label": "Empêche l'allocation d'une grande quantité de mémoire"}]}]} />

Taille maximale autorisée pour String au format RowBinary. Ce paramètre empêche l'allocation d'une grande quantité de mémoire en cas de données corrompues. 0 signifie qu'il n'y a pas de limite

<div id="format_capn_proto_enum_comparising_mode">
  ## format\_capn\_proto\_enum\_comparising\_mode
</div>

<SettingsInfoBlock type="CapnProtoEnumComparingMode" default_value="by_values" />

Comment faire correspondre les Enum ClickHouse et CapnProto

<div id="format_capn_proto_max_message_size">
  ## format\_capn\_proto\_max\_message\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "1073741824"},{"label": "Empêche l'allocation de grandes quantités de mémoire"}]}]} />

Taille maximale d’un message CapnProto unique, en octets. Cela protège contre des données mal formées ou corrompues pouvant entraîner une allocation excessive de mémoire. La valeur par défaut est de 1 GiB.

<div id="format_capn_proto_use_autogenerated_schema">
  ## format\_capn\_proto\_use\_autogenerated\_schema
</div>

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

Utilise le schéma CapnProto généré automatiquement lorsque format\_schema n’est pas défini

<div id="format_csv_allow_double_quotes">
  ## format\_csv\_allow\_double\_quotes
</div>

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

S'il est défini sur true, autorise les chaînes de caractères entre guillemets doubles.

<div id="format_csv_allow_single_quotes">
  ## format\_csv\_allow\_single\_quotes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.7"},{"label": "0"},{"label": "La plupart des outils ne traitent pas spécialement les guillemets simples dans les CSV ; ne le faites donc pas non plus par défaut"}]}]} />

S'il est défini sur true, autorise les chaînes entre guillemets simples.

<div id="format_csv_delimiter">
  ## format\_csv\_delimiter
</div>

<SettingsInfoBlock type="Char" default_value="," />

Caractère utilisé comme délimiteur dans les données CSV. Si ce paramètre est défini avec une chaîne, celle-ci doit avoir une longueur de 1.

<div id="format_csv_null_representation">
  ## format\_csv\_null\_representation
</div>

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

Représentation personnalisée de NULL au format CSV

<div id="format_custom_escaping_rule">
  ## format\_custom\_escaping\_rule
</div>

<SettingsInfoBlock type="EscapingRule" default_value="Escaped" />

Règle d’échappement des champs (pour le format CustomSeparated)

<div id="format_custom_field_delimiter">
  ## format\_custom\_field\_delimiter
</div>

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

Délimiteur entre les champs (format CustomSeparated)

<div id="format_custom_result_after_delimiter">
  ## format\_custom\_result\_after\_delimiter
</div>

Suffixe après le jeu de résultats (pour le format CustomSeparated)

<div id="format_custom_result_before_delimiter">
  ## format\_custom\_result\_before\_delimiter
</div>

Préfixe précédant le jeu de résultats (pour le format CustomSeparated)

<div id="format_custom_row_after_delimiter">
  ## format\_custom\_row\_after\_delimiter
</div>

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

Délimiteur après le champ de la dernière colonne (format CustomSeparated)

<div id="format_custom_row_before_delimiter">
  ## format\_custom\_row\_before\_delimiter
</div>

Délimiteur avant le champ de la première colonne (format CustomSeparated)

<div id="format_custom_row_between_delimiter">
  ## format\_custom\_row\_between\_delimiter
</div>

Délimiteur entre les lignes (pour le format CustomSeparated)

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

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

Active ou désactive l’affichage des secrets dans les requêtes `SHOW` et `SELECT` pour les tables, les bases de données,
les fonctions de table et les dictionnaires.

L’utilisateur qui souhaite voir les secrets doit également avoir le
[`display_secrets_in_show_and_select` paramètre du serveur](/fr/reference/settings/server-settings/settings#display_secrets_in_show_and_select)
activé et disposer du
[`displaySecretsInShowAndSelect`](/fr/reference/statements/grant#displaysecretsinshowandselect) privilège.

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

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

Nom de la colonne utilisée pour stocker/écrire les noms d’objet au format [JSONObjectEachRow](/fr/reference/formats/JSON/JSONObjectEachRow).
Le type de la colonne doit être String. Si la valeur est vide, les noms d’objet par défaut `row_{i}` seront utilisés.

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

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

Utiliser un Protobuf autogénéré lorsque format\_schema n’est pas défini

<div id="format_regexp">
  ## format\_regexp
</div>

Expression régulière (pour le format Regexp)

<div id="format_regexp_escaping_rule">
  ## format\_regexp\_escaping\_rule
</div>

<SettingsInfoBlock type="EscapingRule" default_value="Raw" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "20.10"},{"label": "Raw"},{"label": "Utiliser Raw comme règle d'échappement par défaut du format Regexp afin d'adopter un comportement plus conforme aux attentes des utilisateurs"}]}]} />

Règle d'échappement du champ (pour le format Regexp)

<div id="format_regexp_skip_unmatched">
  ## format\_regexp\_skip\_unmatched
</div>

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

Ignorer les lignes ne correspondant pas à l'expression régulière (pour le format Regexp)

<div id="format_schema">
  ## format\_schema
</div>

Ce paramètre est utile lorsque vous utilisez des formats qui nécessitent une définition de schéma, comme [Cap'n Proto](https://capnproto.org/) ou [Protobuf](https://developers.google.com/protocol-buffers/). Sa valeur dépend du format.

<div id="format_schema_message_name">
  ## format\_schema\_message\_name
</div>

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": ""},{"label": "Nouveau paramètre"}]}]} />

Définit le nom du message requis dans le schéma défini par `format_schema`.
Pour assurer la compatibilité avec le format `format_schema` legacy (`file_name:message_name`) :

* Si `format_schema_message_name` n'est pas spécifié, le nom du message est déduit de la partie `message_name` de la valeur `format_schema` legacy.
* Si `format_schema_message_name` est spécifié lors de l'utilisation du format legacy, une erreur est générée.

<div id="format_schema_source">
  ## format\_schema\_source
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "file"},{"label": "New setting"}]}]} />

Définit la source de `format_schema`.
Valeurs possibles :

* 'file' (par défaut) : `format_schema` est le nom d’un fichier de schéma situé dans le répertoire `format_schemas`.
* 'string' : `format_schema` correspond au contenu littéral du schéma.
* 'query' : `format_schema` est une requête permettant de récupérer le schéma.
  Lorsque `format_schema_source` est défini sur 'query', les conditions suivantes s’appliquent :
* La requête doit renvoyer exactement une valeur : une seule ligne avec une seule colonne de type chaîne.
* Le résultat de la requête est traité comme le contenu du schéma.
* Ce résultat est mis en cache localement dans le répertoire `format_schemas`.
* Vous pouvez vider le cache local à l’aide de la commande : `SYSTEM DROP FORMAT SCHEMA CACHE FOR Files`.
* Une fois mis en cache, les requêtes identiques ne sont plus exécutées pour récupérer à nouveau le schéma tant que le cache n’est pas explicitement vidé
* En plus des fichiers du cache local, les messages Protobuf sont également mis en cache en mémoire. Même après avoir vidé les fichiers du cache local, le cache en mémoire doit être vidé à l’aide de `SYSTEM DROP FORMAT SCHEMA CACHE [FOR Protobuf]` pour actualiser complètement le schéma.
* Exécutez la requête `SYSTEM DROP FORMAT SCHEMA CACHE` pour vider en une seule fois le cache des fichiers et celui des schémas des messages Protobuf.

<div id="format_template_resultset">
  ## format\_template\_resultset
</div>

Chemin d’accès au fichier contenant la chaîne de format du jeu de résultats (pour le format Template)

<div id="format_template_resultset_format">
  ## format\_template\_resultset\_format
</div>

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.2"},{"label": ""},{"label": "La chaîne de format du jeu de résultats pour le format Template peut être définie dans la requête"}]}]} />

Chaîne de format du jeu de résultats (pour le format Template)

<div id="format_template_row">
  ## format\_template\_row
</div>

Chemin du fichier contenant la chaîne de format des lignes (pour le format Template)

<div id="format_template_row_format">
  ## format\_template\_row\_format
</div>

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.2"},{"label": ""},{"label": "La chaîne de format Template pour les lignes peut être définie directement dans la requête"}]}]} />

Chaîne de format pour les lignes (pour le format Template)

<div id="format_template_rows_between_delimiter">
  ## format\_template\_rows\_between\_delimiter
</div>

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

Délimiteur entre les lignes (format Template)

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

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

Représentation NULL personnalisée pour le format TSV

<div id="input_format_allow_errors_num">
  ## input\_format\_allow\_errors\_num
</div>

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

Définit le nombre maximal d’erreurs tolérées lors de la lecture de formats texte (CSV, TSV, etc.).

La valeur par défaut est 0.

Utilisez-le toujours avec `input_format_allow_errors_ratio`.

Si une erreur se produit lors de la lecture de lignes, mais que le compteur d’erreurs reste inférieur à `input_format_allow_errors_num`, ClickHouse ignore la ligne et passe à la suivante.

Si `input_format_allow_errors_num` et `input_format_allow_errors_ratio` sont tous deux dépassés, ClickHouse lève une exception.

<div id="input_format_allow_errors_ratio">
  ## input\_format\_allow\_errors\_ratio
</div>

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

Définit le pourcentage maximal d’erreurs autorisées lors de la lecture de formats texte (CSV, TSV, etc.).
Le pourcentage d’erreurs est exprimé sous la forme d’un nombre à virgule flottante compris entre 0 et 1.

La valeur par défaut est 0.

Utilisez-le toujours avec `input_format_allow_errors_num`.

Si une erreur survient lors de la lecture des lignes, mais que le compteur d’erreurs reste inférieur à `input_format_allow_errors_ratio`, ClickHouse ignore la ligne et passe à la suivante.

Si `input_format_allow_errors_num` et `input_format_allow_errors_ratio` sont tous deux dépassés, ClickHouse lève une exception.

<div id="input_format_allow_seeks">
  ## input\_format\_allow\_seeks
</div>

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

Autorise les accès directs (ou les lectures par plage) lors de la lecture des formats d’entrée ORC, Parquet et Arrow.
Lorsqu’elle est activée et que la source le permet (par exemple un fichier local, S3, ou HTTP avec prise en charge des plages et taille connue),
ClickHouse peut ne lire que les plages d’octets nécessaires et utiliser moins de mémoire.
Lorsqu’elle est désactivée, ou lorsque la source ne permet pas les accès directs (par exemple si la taille du fichier est inconnue ou si le flux ne permet pas le repositionnement),
certains lecteurs peuvent alors se rabattre sur le chargement du fichier entier en mémoire.
Activée par défaut.

<div id="input_format_arrow_allow_missing_columns">
  ## input\_format\_arrow\_allow\_missing\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.12"},{"label": "1"},{"label": "Autoriser par défaut les colonnes manquantes dans les fichiers Arrow"}]}]} />

Autoriser les colonnes manquantes lors de la lecture des formats d’entrée Arrow

<div id="input_format_arrow_case_insensitive_column_matching">
  ## input\_format\_arrow\_case\_insensitive\_column\_matching
</div>

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

Ignore la casse lors de la correspondance entre les colonnes Arrow et les colonnes CH.

<div id="input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference">
  ## input\_format\_arrow\_skip\_columns\_with\_unsupported\_types\_in\_schema\_inference
</div>

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

Ignorer les colonnes de types non pris en charge lors de l’inférence du schéma pour le format Arrow

<div id="input_format_avro_allow_missing_fields">
  ## input\_format\_avro\_allow\_missing\_fields
</div>

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

Pour le format Avro/AvroConfluent : lorsqu’un champ est introuvable dans le schéma, utiliser la valeur par défaut au lieu de renvoyer une erreur

<div id="input_format_avro_null_as_default">
  ## input\_format\_avro\_null\_as\_default
</div>

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

Pour le format Avro/AvroConfluent : insérer la valeur par défaut en cas de NULL dans une colonne non Nullable

<div id="input_format_binary_decode_types_in_binary_format">
  ## input\_format\_binary\_decode\_types\_in\_binary\_format
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "0"},{"label": "Ajout d'un nouveau paramètre permettant de lire les noms de type au format binaire dans le format d'entrée RowBinaryWithNamesAndTypes"}]}]} />

Lire les types de données au format binaire au lieu des noms de type dans le format d'entrée RowBinaryWithNamesAndTypes

<div id="input_format_binary_max_type_complexity">
  ## input\_format\_binary\_max\_type\_complexity
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1000"},{"label": "Ajouter un nouveau paramètre pour contrôler le nombre maximal de nœuds de type lors du décodage des types binaires. Protège contre les données malveillantes."}]}]} />

Nombre maximal de nœuds de type lors du décodage des types binaires (il ne s'agit pas de la profondeur, mais du nombre total). `Map(String, UInt32)` = 3 nœuds. Protège contre les données malveillantes. 0 = illimité.

<div id="input_format_binary_read_json_as_string">
  ## input\_format\_binary\_read\_json\_as\_string
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "0"},{"label": "Ajout d’un nouveau paramètre permettant de lire les valeurs de type JSON comme des chaînes JSON dans le format d’entrée RowBinary"}]}]} />

Lit les valeurs du type de données [JSON](/fr/reference/data-types/newjson) comme des valeurs [String](/fr/reference/data-types/string) JSON dans le format d’entrée RowBinary.

<div id="input_format_bson_skip_fields_with_unsupported_types_in_schema_inference">
  ## input\_format\_bson\_skip\_fields\_with\_unsupported\_types\_in\_schema\_inference
</div>

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

Ignore les champs dont les types ne sont pas pris en charge lors de l’inférence du schéma pour le format BSON.

<div id="input_format_capn_proto_skip_fields_with_unsupported_types_in_schema_inference">
  ## input\_format\_capn\_proto\_skip\_fields\_with\_unsupported\_types\_in\_schema\_inference
</div>

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

Ignorer les colonnes dont les types ne sont pas pris en charge lors de l’inférence du schéma pour le format CapnProto

<div id="input_format_column_name_matching_mode">
  ## input\_format\_column\_name\_matching\_mode
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "auto"},{"label": "Compare d’abord les noms des colonnes d’entrée en respectant la casse, puis, en cas d’échec, utilise une correspondance insensible à la casse, au lieu d’exiger une correspondance exacte de la casse."}]}, {"id": "row-2","items": [{"label": "26.4"},{"label": "match_case"},{"label": "Nouveau paramètre."}]}]} />

Définit le mode de correspondance des noms de colonnes lors de l’ingestion de données via différents formats (notamment JSONEachRow, CSVWithNames, JSONColumns, BSONEachRow et RowBinaryWithNames).
Modes pris en charge :

* match\_case : correspondance sensible à la casse
  * ignore\_case : correspondance insensible à la casse
  * auto : essaie d’abord une correspondance sensible à la casse ; en cas d’échec, essaie une correspondance insensible à la casse.

<div id="input_format_connection_handling">
  ## input\_format\_connection\_handling
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "Nouveau paramètre permettant d’analyser et de traiter les données restantes dans le tampon si la connexion se ferme de manière inattendue"}]}]} />

Lorsque cette option est activée, si la connexion se ferme de manière inattendue, les données restantes dans le tampon sont analysées et traitées au lieu d’être considérées comme une erreur

<Note>
  L’activation de cette option désactive l’analyse parallèle et rend la déduplication impossible
</Note>

<div id="input_format_csv_allow_cr_end_of_line">
  ## input\_format\_csv\_allow\_cr\_end\_of\_line
</div>

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

Si ce paramètre est défini sur true, \r sera autorisé en fin de ligne s'il n'est pas suivi de

<div id="input_format_csv_allow_variable_number_of_columns">
  ## input\_format\_csv\_allow\_variable\_number\_of\_columns
</div>

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

Ignorer les colonnes supplémentaires dans l’entrée CSV (si le fichier contient plus de colonnes que prévu) et traiter les champs manquants dans l’entrée CSV comme des valeurs par défaut

<div id="input_format_csv_allow_whitespace_or_tab_as_delimiter">
  ## input\_format\_csv\_allow\_whitespace\_or\_tab\_as\_delimiter
</div>

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

Permet d'utiliser des espaces et des tabulations(\t) comme délimiteurs de champs dans les chaînes CSV

<div id="input_format_csv_arrays_as_nested_csv">
  ## input\_format\_csv\_arrays\_as\_nested\_csv
</div>

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

Lors de la lecture d’un Array à partir d’un CSV, on suppose que ses éléments ont été sérialisés au format CSV imbriqué, puis placés dans une chaîne. Exemple : "\[""Hello"", ""world"", ""42"""" TV""]". Les crochets entourant le tableau peuvent être omis.

<div id="input_format_csv_deserialize_separate_columns_into_tuple">
  ## input\_format\_csv\_deserialize\_separate\_columns\_into\_tuple
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "1"},{"label": "Une nouvelle manière d’interpréter les tuples au format CSV a été ajoutée."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "Une nouvelle manière d’interpréter les tuples au format CSV a été ajoutée."}]}]} />

Si cette option est définie sur true, des colonnes distinctes écrites au format CSV peuvent être désérialisées en colonne Tuple.

<div id="input_format_csv_detect_header">
  ## input\_format\_csv\_detect\_header
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "Détection par défaut de l’en-tête au format CSV"}]}]} />

Détecte automatiquement l’en-tête avec les noms et les types au format CSV

<div id="input_format_csv_empty_as_default">
  ## input\_format\_csv\_empty\_as\_default
</div>

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

Traiter les champs vides d’une entrée CSV comme des valeurs par défaut.

<div id="input_format_csv_enum_as_number">
  ## input\_format\_csv\_enum\_as\_number
</div>

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

Traiter les valeurs d'enum insérées au format CSV comme des indices d'enum

<div id="input_format_csv_skip_first_lines">
  ## input\_format\_csv\_skip\_first\_lines
</div>

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

Ignore le nombre de lignes spécifié au début des données au format CSV

<div id="input_format_csv_skip_trailing_empty_lines">
  ## input\_format\_csv\_skip\_trailing\_empty\_lines
</div>

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

Ignorer les lignes vides finales au format CSV

<div id="input_format_csv_trim_whitespaces">
  ## input\_format\_csv\_trim\_whitespaces
</div>

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

Supprime les espaces et les tabulations (\t) au début et à la fin des chaînes CSV

<div id="input_format_csv_try_infer_numbers_from_strings">
  ## input\_format\_csv\_try\_infer\_numbers\_from\_strings
</div>

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

Si ce paramètre est activé, lors de l’inférence du schéma, ClickHouse essaiera d’inférer les nombres à partir des champs de type String.
Cela peut être utile si les données CSV contiennent des nombres UInt64 entre guillemets.

Désactivé par défaut.

<div id="input_format_csv_try_infer_strings_from_quoted_tuples">
  ## input\_format\_csv\_try\_infer\_strings\_from\_quoted\_tuples
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "1"},{"label": "Une nouvelle manière d’interpréter les tuples au format CSV a été ajoutée."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "Une nouvelle manière d’interpréter les tuples au format CSV a été ajoutée."}]}]} />

Interpréter les tuples entre guillemets dans les données d’entrée comme une valeur de type String.

<div id="input_format_csv_use_best_effort_in_schema_inference">
  ## input\_format\_csv\_use\_best\_effort\_in\_schema\_inference
</div>

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

Utilise certains ajustements et certaines heuristiques pour inférer le schéma au format CSV

<div id="input_format_csv_use_default_on_bad_values">
  ## input\_format\_csv\_use\_default\_on\_bad\_values
</div>

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

Permet de définir la valeur par défaut d’une colonne lorsque la désérialisation d’un champ CSV échoue à cause d’une valeur incorrecte

<div id="input_format_custom_allow_variable_number_of_columns">
  ## input\_format\_custom\_allow\_variable\_number\_of\_columns
</div>

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

Ignorer les colonnes supplémentaires dans l’entrée CustomSeparated (si le fichier comporte plus de colonnes que prévu) et traiter les champs manquants dans l’entrée CustomSeparated comme des valeurs par défaut

<div id="input_format_custom_detect_header">
  ## input\_format\_custom\_detect\_header
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "Détection par défaut de l’en-tête avec les noms et les types dans le format CustomSeparated"}]}]} />

Détecte automatiquement l’en-tête avec les noms et les types dans le format CustomSeparated

<div id="input_format_custom_skip_trailing_empty_lines">
  ## input\_format\_custom\_skip\_trailing\_empty\_lines
</div>

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

Ignorer les lignes vides finales dans le format CustomSeparated

<div id="input_format_defaults_for_omitted_fields">
  ## input\_format\_defaults\_for\_omitted\_fields
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "19.12"},{"label": "1"},{"label": "Active le calcul des expressions par défaut complexes pour les champs omis dans certains formats d’entrée, car il s’agit du comportement attendu"}]}]} />

Pour les requêtes `INSERT`, remplace les valeurs des colonnes d’entrée omises par les valeurs par défaut des colonnes correspondantes. Cette option s’applique aux formats [JSONEachRow](/fr/reference/formats/JSON/JSONEachRow) (et autres formats JSON), [CSV](/fr/reference/formats/CSV/CSV), [TabSeparated](/fr/reference/formats/TabSeparated/TabSeparated), [TSKV](/fr/reference/formats/TabSeparated/TSKV), [Parquet](/fr/reference/formats/Parquet/Parquet), [Arrow](/fr/reference/formats/Arrow/Arrow), [Avro](/fr/reference/formats/Avro/Avro), [ORC](/fr/reference/formats/ORC), [Native](/fr/reference/formats/Native), ainsi qu’aux formats avec les suffixes `WithNames`/`WithNamesAndTypes`.

<Note>
  Lorsque cette option est activée, des métadonnées de table supplémentaires sont transmises du serveur au client. Cela consomme des ressources de calcul supplémentaires sur le serveur et peut réduire les performances.
</Note>

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

<div id="input_format_force_null_for_omitted_fields">
  ## input\_format\_force\_null\_for\_omitted\_fields
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.5"},{"label": "0"},{"label": "Désactive les valeurs par défaut du type pour les champs omis si nécessaire"}]}]} />

Forcer l’initialisation des champs omis avec des valeurs NULL

<div id="input_format_geojson_unsupported_geometry_handling">
  ## input\_format\_geojson\_unsupported\_geometry\_handling
</div>

<SettingsInfoBlock type="GeoJSONUnsupportedGeometryHandling" default_value="throw" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "throw"},{"label": "Nouveau paramètre qui contrôle la gestion des types de géométrie GeoJSON qui ne peuvent pas être représentés par le type Geometry (GeometryCollection, MultiPoint)"}]}]} />

Contrôle le comportement lorsqu’un type de géométrie `GeoJSON` valide qui ne peut pas être représenté par le type `Geometry` de ClickHouse (comme `GeometryCollection` ou `MultiPoint`) doit être stocké dans la colonne `geometry` lors de la lecture d’une entrée `GeoJSON`.

Valeurs possibles :

* `'throw'` (par défaut) — lever une exception.
* `'null'` — insérer une valeur `NULL` dans la colonne `geometry` et poursuivre l’analyse.

Cela s’applique uniquement lorsque la colonne `geometry` est matérialisée. Lorsqu’il ne s’agit pas d’une colonne de sortie demandée, une telle géométrie est validée pour s’assurer qu’elle est bien formée, mais ne déclenche pas ce traitement.

<div id="input_format_hive_text_allow_variable_number_of_columns">
  ## input\_format\_hive\_text\_allow\_variable\_number\_of\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1"},{"label": "Ignorer les colonnes supplémentaires dans l’entrée au format Hive Text (si le fichier comporte plus de colonnes que prévu) et traiter les champs manquants dans l’entrée au format Hive Text comme des valeurs par défaut."}]}]} />

Ignorer les colonnes supplémentaires dans l’entrée au format Hive Text (si le fichier comporte plus de colonnes que prévu) et traiter les champs manquants dans l’entrée au format Hive Text comme des valeurs par défaut

<div id="input_format_hive_text_collection_items_delimiter">
  ## input\_format\_hive\_text\_collection\_items\_delimiter
</div>

<SettingsInfoBlock type="Char" default_value="" />

Délimiteur entre les éléments d’une collection (Array ou Map) dans Hive Text File

<div id="input_format_hive_text_fields_delimiter">
  ## input\_format\_hive\_text\_fields\_delimiter
</div>

<SettingsInfoBlock type="Char" default_value="" />

Délimiteur des champs dans Hive Text File

<div id="input_format_hive_text_map_keys_delimiter">
  ## input\_format\_hive\_text\_map\_keys\_delimiter
</div>

<SettingsInfoBlock type="Char" default_value="" />

Délimiteur entre la clé et la valeur d’une paire de map dans Hive Text File

<div id="input_format_import_nested_json">
  ## input\_format\_import\_nested\_json
</div>

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

Active ou désactive l’insertion de données JSON contenant des objets imbriqués.

Formats pris en charge :

* [JSONEachRow](/fr/reference/formats/JSON/JSONEachRow)

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

Voir aussi :

* [Utilisation des structures Nested](/fr/guides/clickhouse/data-formats/json/formats#accessing-nested-json-objects) avec le format `JSONEachRow`.

<div id="input_format_ipv4_default_on_conversion_error">
  ## input\_format\_ipv4\_default\_on\_conversion\_error
</div>

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

La désérialisation d'IPv4 utilisera les valeurs par défaut au lieu de lever une exception en cas d'erreur de conversion.

Désactivé par défaut.

<div id="input_format_ipv6_default_on_conversion_error">
  ## input\_format\_ipv6\_default\_on\_conversion\_error
</div>

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

La désérialisation d’IPV6 utilisera les valeurs par défaut au lieu de lever une exception en cas d’erreur de conversion.

Désactivé par défaut.

<div id="input_format_json_compact_allow_variable_number_of_columns">
  ## input\_format\_json\_compact\_allow\_variable\_number\_of\_columns
</div>

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

Autorise un nombre variable de colonnes par ligne dans les formats d’entrée JSONCompact/JSONCompactEachRow.
Ignore les colonnes supplémentaires dans les lignes qui contiennent plus de colonnes que prévu et traite les colonnes manquantes comme des valeurs par défaut.

Désactivé par défaut.

<div id="input_format_json_defaults_for_missing_elements_in_named_tuple">
  ## input\_format\_json\_defaults\_for\_missing\_elements\_in\_named\_tuple
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "Autoriser par défaut les éléments manquants dans les objets JSON lors de la lecture de tuples nommés"}]}]} />

Insère les valeurs par défaut pour les éléments manquants d’un objet JSON lors de l’analyse d’un tuple nommé.
Ce paramètre fonctionne uniquement lorsque le paramètre `input_format_json_named_tuples_as_objects` est activé.

Activé par défaut.

<div id="input_format_json_empty_as_default">
  ## input\_format\_json\_empty\_as\_default
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "0"},{"label": "Ajout d’un nouveau paramètre permettant de traiter les champs vides de l’entrée JSON comme des valeurs par défaut."}]}]} />

Lorsqu’il est activé, les champs vides de l’entrée JSON sont remplacés par des valeurs par défaut. Pour les expressions par défaut complexes, `input_format_defaults_for_omitted_fields` doit également être activé.

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

<div id="input_format_json_ignore_unknown_keys_in_named_tuple">
  ## input\_format\_json\_ignore\_unknown\_keys\_in\_named\_tuple
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.3"},{"label": "1"},{"label": "Amélioration de l’analyse des objets JSON en tant que tuples nommés"}]}]} />

Ignorer les clés inconnues dans les objets JSON pour les tuples nommés.

Activé par défaut.

<div id="input_format_json_ignore_unnecessary_fields">
  ## input\_format\_json\_ignore\_unnecessary\_fields
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1"},{"label": "Ignorer les champs inutiles sans les analyser. L’activation de ce paramètre peut ne pas lever d’exception pour des chaînes JSON au format invalide ou contenant des champs dupliqués"}]}]} />

Ignorer les champs inutiles sans les analyser. L’activation de ce paramètre peut ne pas lever d’exception pour des chaînes JSON au format invalide ou contenant des champs dupliqués

<div id="input_format_json_infer_array_of_dynamic_from_array_of_different_types">
  ## input\_format\_json\_infer\_array\_of\_dynamic\_from\_array\_of\_different\_types
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "Inférer Array(Dynamic) par défaut pour les tableaux JSON contenant des valeurs de types différents"}]}]} />

Si ce paramètre est activé, lors de l’inférence du schéma, ClickHouse utilisera le type Array(Dynamic) pour les tableaux JSON contenant des valeurs de différents types de données.

Exemple :

```sql theme={null}
SET input_format_json_infer_array_of_dynamic_from_array_of_different_types=1;
DESC format(JSONEachRow, '{"a" : [42, "hello", [1, 2, 3]]}');
```

```response theme={null}
┌─name─┬─type───────────┐
│ a    │ Array(Dynamic) │
└──────┴────────────────┘
```

```sql theme={null}
SET input_format_json_infer_array_of_dynamic_from_array_of_different_types=0;
DESC format(JSONEachRow, '{"a" : [42, "hello", [1, 2, 3]]}');
```

```response theme={null}
┌─name─┬─type─────────────────────────────────────────────────────────────┐
│ a    │ Tuple(Nullable(Int64), Nullable(String), Array(Nullable(Int64))) │
└──────┴──────────────────────────────────────────────────────────────────┘
```

Activé par défaut.

<div id="input_format_json_infer_incomplete_types_as_strings">
  ## input\_format\_json\_infer\_incomplete\_types\_as\_strings
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "Permet d'inférer par défaut les types incomplets comme des Strings dans les formats JSON"}]}]} />

Permet d'utiliser le type String pour les clés JSON qui ne contiennent que `Null`/`{}`/`[]` dans l'échantillon de données lors de l'inférence du schéma.
Dans les formats JSON, toute valeur peut être lue comme String, ce qui permet d'éviter des erreurs telles que `Cannot determine type for column 'column_name' by first 25000 rows of data, most likely this column contains only Nulls or empty Arrays/Maps` lors de l'inférence du schéma,
en utilisant le type String pour les clés dont le type est inconnu.

Exemple :

```sql theme={null}
SET input_format_json_infer_incomplete_types_as_strings = 1, input_format_json_try_infer_named_tuples_from_objects = 1;
DESCRIBE format(JSONEachRow, '{"obj" : {"a" : [1,2,3], "b" : "hello", "c" : null, "d" : {}, "e" : []}}');
SELECT * FROM format(JSONEachRow, '{"obj" : {"a" : [1,2,3], "b" : "hello", "c" : null, "d" : {}, "e" : []}}');
```

Résultat :

```
┌─name─┬─type───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ obj  │ Tuple(a Array(Nullable(Int64)), b Nullable(String), c Nullable(String), d Nullable(String), e Array(Nullable(String))) │              │                    │         │                  │                │
└──────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘

┌─obj────────────────────────────┐
│ ([1,2,3],'hello',NULL,'{}',[]) │
└────────────────────────────────┘
```

Activé par défaut.

<div id="input_format_json_map_as_array_of_tuples">
  ## input\_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": "Nouveau paramètre"}]}]} />

Désérialise les colonnes de type Map sous forme de tableaux JSON de tuples.

Désactivé par défaut.

<div id="input_format_json_max_depth">
  ## input\_format\_json\_max\_depth
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "1000"},{"label": "Dans les versions précédentes, cette valeur était illimitée, mais ce n’était pas sûr."}]}]} />

Profondeur maximale d'un champ dans un JSON. Il ne s'agit pas d'une limite stricte et elle ne doit pas nécessairement être appliquée de manière précise.

<div id="input_format_json_named_tuples_as_objects">
  ## input\_format\_json\_named\_tuples\_as\_objects
</div>

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

Interpréter les colonnes de tuples nommés comme des objets JSON.

Activé par défaut.

<div id="input_format_json_read_arrays_as_strings">
  ## input\_format\_json\_read\_arrays\_as\_strings
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "Permet de lire par défaut les tableaux comme des chaînes dans les formats JSON"}]}]} />

Permet d’interpréter les tableaux JSON comme des chaînes dans les formats d’entrée JSON.

Exemple :

```sql theme={null}
SET input_format_json_read_arrays_as_strings = 1;
SELECT arr, toTypeName(arr), JSONExtractArrayRaw(arr)[3] from format(JSONEachRow, 'arr String', '{"arr" : [1, "Hello", [1,2,3]]}');
```

Résultat :

```
┌─arr───────────────────┬─toTypeName(arr)─┬─arrayElement(JSONExtractArrayRaw(arr), 3)─┐
│ [1, "Hello", [1,2,3]] │ String          │ [1,2,3]                                   │
└───────────────────────┴─────────────────┴───────────────────────────────────────────┘
```

Activé par défaut.

<div id="input_format_json_read_bools_as_numbers">
  ## input\_format\_json\_read\_bools\_as\_numbers
</div>

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

Autorise l'interprétation des booléens comme des nombres dans les formats d'entrée JSON.

Activé par défaut.

<div id="input_format_json_read_bools_as_strings">
  ## input\_format\_json\_read\_bools\_as\_strings
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "1"},{"label": "Permet, par défaut, de lire les booléens sous forme de chaînes dans les formats JSON"}]}]} />

Autorise l’interprétation des booléens sous forme de chaînes dans les formats d’entrée JSON.

Activé par défaut.

<div id="input_format_json_read_numbers_as_strings">
  ## input\_format\_json\_read\_numbers\_as\_strings
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "Permet de lire par défaut les nombres sous forme de chaînes dans les formats JSON"}]}]} />

Permet d'interpréter les nombres sous forme de chaînes dans les formats d'entrée JSON.

Activé par défaut.

<div id="input_format_json_read_objects_as_strings">
  ## input\_format\_json\_read\_objects\_as\_strings
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "Activer la lecture des objets JSON imbriqués sous forme de chaînes lorsque le type object est expérimental"}]}]} />

Autorise l’analyse des objets JSON sous forme de chaînes dans les formats d’entrée JSON.

Exemple :

```sql theme={null}
SET input_format_json_read_objects_as_strings = 1;
CREATE TABLE test (id UInt64, obj String, date Date) ENGINE=Memory();
INSERT INTO test FORMAT JSONEachRow {"id" : 1, "obj" : {"a" : 1, "b" : "Hello"}, "date" : "2020-01-01"};
SELECT * FROM test;
```

Résultat :

```
┌─id─┬─obj──────────────────────┬───────date─┐
│  1 │ {"a" : 1, "b" : "Hello"} │ 2020-01-01 │
└────┴──────────────────────────┴────────────┘
```

Activé par défaut.

<div id="input_format_json_throw_on_bad_escape_sequence">
  ## input\_format\_json\_throw\_on\_bad\_escape\_sequence
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1"},{"label": "Permet d’enregistrer des chaînes JSON contenant des séquences d’échappement incorrectes"}]}]} />

Lever une exception si une chaîne JSON contient une séquence d’échappement incorrecte dans les formats d’entrée JSON. Si cette option est désactivée, les séquences d’échappement incorrectes resteront telles quelles dans les données.

Activé par défaut.

<div id="input_format_json_try_infer_named_tuples_from_objects">
  ## input\_format\_json\_try\_infer\_named\_tuples\_from\_objects
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "Essayer d’inférer par défaut des Tuples nommés à partir d’objets JSON"}]}]} />

Si ce paramètre est activé, lors de l’inférence du schéma, ClickHouse essaiera d’inférer un Tuple nommé à partir d’objets JSON.
Le Tuple nommé résultant contiendra tous les éléments de tous les objets JSON correspondants de l’échantillon de données.

Exemple :

```sql theme={null}
SET input_format_json_try_infer_named_tuples_from_objects = 1;
DESC format(JSONEachRow, '{"obj" : {"a" : 42, "b" : "Hello"}}, {"obj" : {"a" : 43, "c" : [1, 2, 3]}}, {"obj" : {"d" : {"e" : 42}}}')
```

Résultat :

```
┌─name─┬─type───────────────────────────────────────────────────────────────────────────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ obj  │ Tuple(a Nullable(Int64), b Nullable(String), c Array(Nullable(Int64)), d Tuple(e Nullable(Int64))) │              │                    │         │                  │                │
└──────┴────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘
```

Activé par défaut.

<div id="input_format_json_try_infer_numbers_from_strings">
  ## input\_format\_json\_try\_infer\_numbers\_from\_strings
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "0"},{"label": "Par défaut, ne pas inférer les nombres à partir de chaînes dans les formats JSON afin d'éviter d'éventuelles erreurs d'analyse"}]}]} />

Si cette option est activée, lors de l'inférence du schéma, ClickHouse essaiera d'inférer des nombres à partir de champs de type chaîne.
Cela peut être utile si les données JSON contiennent des nombres UInt64 entre guillemets.

Désactivé par défaut.

<div id="input_format_json_use_string_type_for_ambiguous_paths_in_named_tuples_inference_from_objects">
  ## input\_format\_json\_use\_string\_type\_for\_ambiguous\_paths\_in\_named\_tuples\_inference\_from\_objects
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "Permet d’utiliser le type String pour les chemins ambigus lors de l’inférence de tuples nommés à partir d’objets JSON"}]}]} />

Utilise le type String au lieu de générer une exception en cas de chemins ambigus dans des objets JSON lors de l’inférence de tuples nommés

<div id="input_format_json_validate_types_from_metadata">
  ## input\_format\_json\_validate\_types\_from\_metadata
</div>

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

Pour les formats d'entrée JSON/JSONCompact/JSONColumnsWithMetadata, si ce paramètre est défini sur 1,
les types des métadonnées des données d'entrée seront comparés aux types des colonnes correspondantes de la table.

Activé par défaut.

<div id="input_format_max_block_size_bytes">
  ## input\_format\_max\_block\_size\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "0"},{"label": "Nouveau paramètre permettant de limiter la taille en octets des blocs créés par le format d'entrée"}]}]} />

Limite la taille, en octets, des blocs formés lors de l'analyse des données dans les formats d'entrée. Utilisé dans les formats d'entrée basés sur les lignes lorsque le bloc est formé côté ClickHouse.
0 signifie qu'il n'y a aucune limite en octets.

<div id="input_format_max_block_wait_ms">
  ## input\_format\_max\_block\_wait\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "Nouveau paramètre permettant de limiter le temps d'attente maximal, en millisecondes, avant qu'un bloc ne soit émis par le format d'entrée"}]}]} />

Limite le temps d'attente maximal, en millisecondes, avant l'émission d'un bloc lors de l'analyse dans les formats d'entrée basés sur des lignes. 0 signifie qu'il n'y a pas de limite.

<Note>
  Cette option fonctionne uniquement si `input_format_connection_handling` est activé. Définir une valeur désactive également l'analyse parallèle et rend la déduplication impossible.
</Note>

<Note>
  Pour les insertions en streaming, vous devez également définir `min_insert_block_size_rows=0` et `min_insert_block_size_bytes=0`. Sinon, les blocs analysés peuvent encore s'accumuler en mémoire à l'étape de fusion des blocs jusqu'à ce que ces seuils soient atteints, ce qui empêche des insertions en temps voulu.
</Note>

**Exemple : diffusion en streaming des modifications récentes de Wikipedia dans ClickHouse**

```bash theme={null}
clickhouse-client --query 'CREATE TABLE wikipedia_edits (data JSON)'

curl -sS --globoff -H 'Accept: application/json' --no-buffer \
  'https://stream.wikimedia.org/v2/stream/recentchange' \
  | clickhouse-client \
      --query 'INSERT INTO wikipedia_edits FORMAT JSONAsObject' \
      --input_format_max_block_wait_ms 1000 \
      --input_format_connection_handling 1 \
      --min_insert_block_size_rows 0 \
      --min_insert_block_size_bytes 0
```

<div id="input_format_max_bytes_to_read_for_schema_inference">
  ## input\_format\_max\_bytes\_to\_read\_for\_schema\_inference
</div>

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

Quantité maximale de données, en octets, à lire pour l’inférence automatique du schéma.

<div id="input_format_max_rows_to_read_for_schema_inference">
  ## input\_format\_max\_rows\_to\_read\_for\_schema\_inference
</div>

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

Nombre maximal de lignes de données à lire pour l’inférence automatique du schéma.

<div id="input_format_msgpack_number_of_columns">
  ## input\_format\_msgpack\_number\_of\_columns
</div>

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

Le nombre de colonnes dans les données MsgPack insérées. Utilisé pour l’inférence automatique du schéma à partir de ces données.

<div id="input_format_mysql_dump_map_column_names">
  ## input\_format\_mysql\_dump\_map\_column\_names
</div>

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

Faire correspondre les colonnes de la table du dump MySQL avec celles de la table ClickHouse, en fonction de leur nom

<div id="input_format_mysql_dump_table_name">
  ## input\_format\_mysql\_dump\_table\_name
</div>

Nom de la table du dump MySQL à partir de laquelle lire les données

<div id="input_format_native_allow_types_conversion">
  ## input\_format\_native\_allow\_types\_conversion
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.3"},{"label": "1"},{"label": "Autoriser la conversion des types de données dans le format d’entrée Native"}]}]} />

Autoriser la conversion des types de données dans le format d’entrée Native

<div id="input_format_native_decode_types_in_binary_format">
  ## input\_format\_native\_decode\_types\_in\_binary\_format
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "0"},{"label": "Ajout d'un nouveau paramètre permettant de lire les noms de type au format binaire dans le format de sortie Native"}]}]} />

Lire les types de données au format binaire plutôt que les noms de type dans le format d'entrée Native

<div id="input_format_null_as_default">
  ## input\_format\_null\_as\_default
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.1"},{"label": "1"},{"label": "Autorise par défaut l’insertion de NULL comme valeur par défaut pour les formats d’entrée"}]}]} />

Active ou désactive l’initialisation des champs [NULL](/fr/reference/syntax#literals) avec des [valeurs par défaut](/fr/reference/statements/create/table#default_values), si le type de données de ces champs n’est pas [Nullable](/fr/reference/data-types/nullable).
Si le type de la colonne n’est pas Nullable et que ce paramètre est désactivé, l’insertion de `NULL` provoque une exception. Si le type de la colonne est Nullable, les valeurs `NULL` sont insérées telles quelles, quel que soit ce paramètre.

Ce paramètre s’applique à la plupart des formats d’entrée.

Pour les expressions par défaut complexes, `input_format_defaults_for_omitted_fields` doit également être activé.

Valeurs possibles :

* 0 — L’insertion de `NULL` dans une colonne non Nullable provoque une exception.
* 1 — Les champs `NULL` sont initialisés avec les valeurs par défaut de la colonne.

<div id="input_format_orc_allow_missing_columns">
  ## input\_format\_orc\_allow\_missing\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.12"},{"label": "1"},{"label": "Autoriser par défaut les colonnes manquantes dans les fichiers ORC"}]}]} />

Autoriser les colonnes manquantes lors de la lecture du format d’entrée ORC

<div id="input_format_orc_case_insensitive_column_matching">
  ## input\_format\_orc\_case\_insensitive\_column\_matching
</div>

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

Ignore la casse lors de la mise en correspondance des colonnes ORC avec les colonnes CH.

<div id="input_format_orc_dictionary_as_low_cardinality">
  ## input\_format\_orc\_dictionary\_as\_low\_cardinality
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1"},{"label": "Traiter les colonnes encodées à l’aide du dictionnaire ORC comme des colonnes LowCardinality lors de la lecture de fichiers ORC"}]}]} />

Traiter les colonnes encodées à l’aide du dictionnaire ORC comme des colonnes LowCardinality lors de la lecture de fichiers ORC.

<div id="input_format_orc_filter_push_down">
  ## input\_format\_orc\_filter\_push\_down
</div>

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

Lors de la lecture de fichiers ORC, ignore des stripes entières ou des groupes de lignes entiers en fonction des expressions WHERE/PREWHERE, des statistiques min/max ou du filtre de Bloom dans les métadonnées ORC.

<div id="input_format_orc_reader_time_zone_name">
  ## input\_format\_orc\_reader\_time\_zone\_name
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "GMT"},{"label": "Nom du fuseau horaire du lecteur de lignes ORC ; le fuseau horaire par défaut du lecteur de lignes ORC est GMT."}]}]} />

Nom du fuseau horaire du lecteur de lignes ORC ; le fuseau horaire par défaut du lecteur de lignes ORC est GMT.

<div id="input_format_orc_row_batch_size">
  ## input\_format\_orc\_row\_batch\_size
</div>

<SettingsInfoBlock type="Int64" default_value="100000" />

Taille du lot pour la lecture des stripes ORC.

<div id="input_format_orc_skip_columns_with_unsupported_types_in_schema_inference">
  ## input\_format\_orc\_skip\_columns\_with\_unsupported\_types\_in\_schema\_inference
</div>

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

Ignorer les colonnes dont les types ne sont pas pris en charge lors de l’inférence du schéma pour le format ORC

<div id="input_format_orc_use_fast_decoder">
  ## input\_format\_orc\_use\_fast\_decoder
</div>

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

Utilise une implémentation plus rapide du décodeur ORC.

<div id="input_format_parallel_parsing">
  ## input\_format\_parallel\_parsing
</div>

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

Active ou désactive l’analyse parallèle des formats de données avec préservation de l’ordre. Pris en charge uniquement pour les formats [TabSeparated (TSV)](/fr/reference/formats/TabSeparated/TabSeparated), [TSKV](/fr/reference/formats/TabSeparated/TSKV), [CSV](/fr/reference/formats/CSV/CSV) et [JSONEachRow](/fr/reference/formats/JSON/JSONEachRow).

Valeurs possibles :

* 1 — Activé.
* 0 — Désactivé.

<div id="input_format_parquet_allow_geoparquet_parser">
  ## input\_format\_parquet\_allow\_geoparquet\_parser
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "Nouveau paramètre pour utiliser des colonnes géo dans un fichier Parquet"}]}]} />

Utilise l’analyseur de colonnes géo pour convertir Array(UInt8) en types Point/Linestring/Polygon/MultiLineString/MultiPolygon

<div id="input_format_parquet_allow_missing_columns">
  ## input\_format\_parquet\_allow\_missing\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.12"},{"label": "1"},{"label": "Autoriser par défaut les colonnes manquantes dans les fichiers Parquet"}]}]} />

Autoriser les colonnes manquantes lors de la lecture de formats d’entrée Parquet

<div id="input_format_parquet_bloom_filter_push_down">
  ## input\_format\_parquet\_bloom\_filter\_push\_down
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "Lors de la lecture de fichiers Parquet, permet d'ignorer des groupes de lignes entiers en fonction des expressions WHERE/PREWHERE et du filtre de Bloom dans les métadonnées Parquet."}]}, {"id": "row-2","items": [{"label": "24.10"},{"label": "0"},{"label": "Lors de la lecture de fichiers Parquet, permet d'ignorer des groupes de lignes entiers en fonction des expressions WHERE/PREWHERE et du filtre de Bloom dans les métadonnées Parquet."}]}]} />

Lors de la lecture de fichiers Parquet, permet d'ignorer des groupes de lignes entiers en fonction des expressions WHERE et du filtre de Bloom dans les métadonnées Parquet.

<div id="input_format_parquet_case_insensitive_column_matching">
  ## input\_format\_parquet\_case\_insensitive\_column\_matching
</div>

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

Ignorer la casse lors de la mise en correspondance des colonnes Parquet avec les colonnes CH.

<div id="input_format_parquet_enable_json_parsing">
  ## input\_format\_parquet\_enable\_json\_parsing
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "1"},{"label": "Lors de la lecture de fichiers Parquet, interpréter les colonnes JSON comme des colonnes JSON ClickHouse."}]}]} />

Lors de la lecture de fichiers Parquet, interpréter les colonnes JSON comme des colonnes JSON ClickHouse.

<div id="input_format_parquet_enable_row_group_prefetch">
  ## input\_format\_parquet\_enable\_row\_group\_prefetch
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1"},{"label": "Active la prélecture des groupes de lignes lors de l’analyse de Parquet. Actuellement, seule l’analyse en monothread peut effectuer cette prélecture."}]}]} />

Active la prélecture des groupes de lignes lors de l’analyse de Parquet. Actuellement, seule l’analyse en monothread peut effectuer cette prélecture.

<div id="input_format_parquet_filter_push_down">
  ## input\_format\_parquet\_filter\_push\_down
</div>

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

Lors de la lecture de fichiers Parquet, ignore des groupes de lignes entiers en fonction des expressions WHERE/PREWHERE et des statistiques min/max des métadonnées Parquet.

<div id="input_format_parquet_local_file_min_bytes_for_seek">
  ## input\_format\_parquet\_local\_file\_min\_bytes\_for\_seek
</div>

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

Nombre minimal d’octets requis pour qu’une lecture locale (fichier) effectue un seek plutôt qu’une lecture avec ignore dans le format d’entrée Parquet

<div id="input_format_parquet_local_time_as_utc">
  ## input\_format\_parquet\_local\_time\_as\_utc
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "Utiliser le type plus approprié DateTime64(..., 'UTC') pour le type Parquet 'local time without timezone'."}]}]} />

Détermine le type de données utilisé par l’inférence de schéma pour les timestamps Parquet avec isAdjustedToUTC=false. Si true : DateTime64(..., 'UTC') ; si false : DateTime64(...). Aucun de ces deux comportements n’est entièrement correct, car ClickHouse ne dispose pas d’un type de données pour l’heure locale affichée. De façon contre-intuitive, 'true' est probablement l’option la moins incorrecte, car le formatage du timestamp 'UTC' en String produira une représentation de l’heure locale correcte.

<div id="input_format_parquet_max_block_size">
  ## input\_format\_parquet\_max\_block\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "65409"},{"label": "Augmentation de la taille des blocs pour le lecteur Parquet."}]}]} />

Taille maximale des blocs pour le lecteur Parquet.

<div id="input_format_parquet_memory_high_watermark">
  ## input\_format\_parquet\_memory\_high\_watermark
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "4294967296"},{"label": "Nouveau paramètre"}]}]} />

Limite de mémoire approximative pour le lecteur Parquet v3. Limite le nombre de groupes de lignes ou de colonnes pouvant être lus en parallèle. Lors de la lecture de plusieurs fichiers dans une même requête, la limite porte sur l'utilisation mémoire totale de l'ensemble de ces fichiers.

<div id="input_format_parquet_memory_low_watermark">
  ## input\_format\_parquet\_memory\_low\_watermark
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "2097152"},{"label": "Nouveau paramètre"}]}]} />

Planifie les prélectures plus agressivement si l’utilisation de la mémoire est inférieure au seuil. Cela peut être utile, par exemple, s’il y a de nombreux petits filtres de Bloom à lire sur le réseau.

<div id="input_format_parquet_page_filter_push_down">
  ## input\_format\_parquet\_page\_filter\_push\_down
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "Nouveau paramètre (sans effet lorsque input_format_parquet_use_native_reader_v3 est désactivé)"}]}]} />

Ignore les pages à l’aide des valeurs min/max de l’index de colonne.

<div id="input_format_parquet_prefer_block_bytes">
  ## input\_format\_parquet\_prefer\_block\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "16744704"},{"label": "Nombre moyen d’octets par bloc produits par le lecteur Parquet."}]}]} />

Nombre moyen d’octets par bloc produits par le lecteur Parquet

<div id="input_format_parquet_preserve_order">
  ## input\_format\_parquet\_preserve\_order
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.5"},{"label": "0"},{"label": "Autoriser le lecteur Parquet à réordonner les lignes pour améliorer le parallélisme."}]}]} />

Évite de réordonner les lignes lors de la lecture de fichiers Parquet. Ce n’est pas recommandé, car l’ordre des lignes n’est généralement pas garanti et d’autres parties du pipeline d’exécution de la requête peuvent malgré tout le modifier. Utilisez plutôt `ORDER BY _row_number`.

<div id="input_format_parquet_skip_columns_with_unsupported_types_in_schema_inference">
  ## input\_format\_parquet\_skip\_columns\_with\_unsupported\_types\_in\_schema\_inference
</div>

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

Ignorer les colonnes dont les types ne sont pas pris en charge lors de l’inférence de schéma pour le format Parquet

<div id="input_format_parquet_use_offset_index">
  ## input\_format\_parquet\_use\_offset\_index
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "Nouveau paramètre (sans effet lorsque input_format_parquet_use_native_reader_v3 est désactivé)"}]}]} />

Ajustement mineur de la façon dont les pages sont lues à partir d’un fichier Parquet lorsqu’aucun filtrage de page n’est appliqué.

<div id="input_format_parquet_verify_checksums">
  ## input\_format\_parquet\_verify\_checksums
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "Nouveau paramètre."}]}]} />

Vérifie les sommes de contrôle des pages lors de la lecture des fichiers Parquet.

<div id="input_format_protobuf_flatten_google_wrappers">
  ## input\_format\_protobuf\_flatten\_google\_wrappers
</div>

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

Active les wrappers Google pour les colonnes ordinaires non imbriquées, par ex. google.protobuf.StringValue 'str' pour la colonne String 'str'. Pour les colonnes Nullable, les wrappers vides sont interprétés comme des valeurs par défaut, et les valeurs manquantes comme des nulls

<div id="input_format_protobuf_oneof_presence">
  ## input\_format\_protobuf\_oneof\_presence
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "0"},{"label": "Nouveau paramètre"}]}]} />

Indique quel champ du oneof Protobuf a été trouvé en définissant une valeur enum dans une colonne spéciale

<div id="input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference">
  ## input\_format\_protobuf\_skip\_fields\_with\_unsupported\_types\_in\_schema\_inference
</div>

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

Ignorer les champs dont les types ne sont pas pris en charge lors de l’inférence de schéma pour le format Protobuf

<div id="input_format_record_errors_file_path">
  ## input\_format\_record\_errors\_file\_path
</div>

Chemin du fichier utilisé pour consigner les erreurs lors de la lecture de formats texte (CSV, TSV).

<div id="input_format_skip_unknown_fields">
  ## input\_format\_skip\_unknown\_fields
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.6"},{"label": "1"},{"label": "Optimiser la lecture d’un sous-ensemble de colonnes pour certains formats d’entrée"}]}]} />

Active ou désactive l’omission des données supplémentaires lors de l’insertion.

Lors de l’écriture de données, ClickHouse lève une exception si les données d’entrée contiennent des colonnes qui n’existent pas dans la table cible. Si cette option est activée, ClickHouse n’insère pas les données supplémentaires et ne lève pas d’exception.

Formats pris en charge :

* [JSONEachRow](/fr/reference/formats/JSON/JSONEachRow) (et d’autres formats JSON)
* [BSONEachRow](/fr/reference/formats/BSONEachRow) (et d’autres formats JSON)
* [TSKV](/fr/reference/formats/TabSeparated/TSKV)
* Tous les formats avec les suffixes WithNames/WithNamesAndTypes
* [MySQLDump](/fr/reference/formats/MySQLDump)
* [Native](/fr/reference/formats/Native)

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

<div id="input_format_try_infer_dates">
  ## input\_format\_try\_infer\_dates
</div>

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

Si ce paramètre est activé, ClickHouse essaiera d'inférer le type `Date` à partir des champs de type chaîne lors de l'inférence de schéma pour les formats texte. Si tous les champs d'une colonne dans les données d'entrée ont été correctement interprétés comme des dates, le type résultant sera `Date` ; si au moins un champ n'a pas été interprété comme une date, le type résultant sera `String`.

Activé par défaut.

<div id="input_format_try_infer_datetimes">
  ## input\_format\_try\_infer\_datetimes
</div>

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

Si cette option est activée, ClickHouse tentera d’inférer le type `DateTime64` à partir des champs de type chaîne lors de l’inférence de schéma pour les formats texte. Si tous les champs d’une colonne des données d’entrée sont correctement analysés comme des dates et heures, le type résultant sera `DateTime64` ; si au moins un champ n’est pas analysé comme une date et heure, le type résultant sera `String`.

Activé par défaut.

<div id="input_format_try_infer_datetimes_only_datetime64">
  ## input\_format\_try\_infer\_datetimes\_only\_datetime64
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "0"},{"label": "Permet d’inférer DateTime au lieu de DateTime64 dans les formats de données"}]}]} />

Lorsque input\_format\_try\_infer\_datetimes est activé, n’inférer que le type DateTime64, et non les types DateTime

<div id="input_format_try_infer_exponent_floats">
  ## input\_format\_try\_infer\_exponent\_floats
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.2"},{"label": "0"},{"label": "Ne pas inférer par défaut les nombres flottants en notation exponentielle"}]}]} />

Tenter d’inférer les nombres flottants en notation exponentielle lors de l’inférence de schéma dans les formats texte (sauf JSON, où les nombres avec exposant sont toujours inférés)

<div id="input_format_try_infer_integers">
  ## input\_format\_try\_infer\_integers
</div>

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

Si cette option est activée, ClickHouse tentera d'inférer des entiers plutôt que des nombres à virgule flottante lors de l'inférence de schéma pour les formats texte. Si tous les nombres d'une colonne dans les données d'entrée sont des entiers, le type résultant sera `Int64` ; si au moins un nombre est à virgule flottante, le type résultant sera `Float64`.

Activé par défaut.

<div id="input_format_try_infer_variants">
  ## input\_format\_try\_infer\_variants
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "0"},{"label": "Tenter d’inférer le type Variant dans les formats texte lorsqu’il existe plusieurs types possibles pour les éléments de colonne ou de tableau"}]}]} />

Si cette option est activée, ClickHouse tentera d’inférer le type [`Variant`](/fr/reference/data-types/variant) lors de l’inférence de schéma pour les formats texte lorsqu’il existe plusieurs types possibles pour les éléments de colonne ou de tableau.

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

<div id="input_format_tsv_allow_variable_number_of_columns">
  ## input\_format\_tsv\_allow\_variable\_number\_of\_columns
</div>

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

Ignorer les colonnes supplémentaires dans l’entrée TSV (si le fichier comporte plus de colonnes que prévu) et considérer les champs manquants dans l’entrée TSV comme des valeurs par défaut

<div id="input_format_tsv_crlf_end_of_line">
  ## input\_format\_tsv\_crlf\_end\_of\_line
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.5"},{"label": "0"},{"label": "Active la lecture des fins de ligne CRLF avec les formats TSV"}]}]} />

Si ce paramètre est défini sur true, la fonction file lira le format TSV avec des fins de ligne \r\n au lieu de \n.

<div id="input_format_tsv_detect_header">
  ## input\_format\_tsv\_detect\_header
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "Détection par défaut de l’en-tête au format TSV"}]}]} />

Détecte automatiquement l’en-tête avec les noms et les types au format TSV

<div id="input_format_tsv_empty_as_default">
  ## input\_format\_tsv\_empty\_as\_default
</div>

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

Traite les champs vides dans l’entrée TSV comme des valeurs par défaut.

<div id="input_format_tsv_enum_as_number">
  ## input\_format\_tsv\_enum\_as\_number
</div>

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

Traite les valeurs d'enum insérées dans les formats TSV comme des indices d'enum.

<div id="input_format_tsv_skip_first_lines">
  ## input\_format\_tsv\_skip\_first\_lines
</div>

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

Ignore le nombre spécifié de lignes au début des données au format TSV

<div id="input_format_tsv_skip_trailing_empty_lines">
  ## input\_format\_tsv\_skip\_trailing\_empty\_lines
</div>

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

Ignorer les lignes vides finales au format TSV

<div id="input_format_tsv_use_best_effort_in_schema_inference">
  ## input\_format\_tsv\_use\_best\_effort\_in\_schema\_inference
</div>

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

Utilise certains ajustements et heuristiques pour inférer le schéma au format TSV

<div id="input_format_values_accurate_types_of_literals">
  ## input\_format\_values\_accurate\_types\_of\_literals
</div>

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

Pour le format Values : lors de l’analyse et de l’interprétation des expressions à l’aide du modèle, vérifiez le type réel du littéral afin d’éviter d’éventuels problèmes de dépassement de capacité et de précision.

<div id="input_format_values_deduce_templates_of_expressions">
  ## input\_format\_values\_deduce\_templates\_of\_expressions
</div>

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

Pour le format Values : si le champ ne peut pas être analysé par le parseur en flux, l’analyseur SQL est exécuté, le modèle de l’expression SQL est déduit, toutes les lignes sont ensuite analysées à l’aide de ce modèle, puis l’expression est interprétée pour toutes les lignes.

<div id="input_format_values_interpret_expressions">
  ## input\_format\_values\_interpret\_expressions
</div>

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

Pour le format Values : si le champ n’a pas pu être analysé par le parseur en flux, exécutez l’analyseur SQL et essayez de l’interpréter comme une expression SQL.

<div id="input_format_with_names_use_header">
  ## input\_format\_with\_names\_use\_header
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "20.5"},{"label": "1"},{"label": "Active l'utilisation d'un en-tête avec noms pour les formats portant les suffixes WithNames/WithNamesAndTypes"}]}]} />

Active ou désactive la vérification de l'ordre des colonnes lors de l'insertion de données.

Pour améliorer les performances d'insertion, nous recommandons de désactiver cette vérification si vous êtes sûr que l'ordre des colonnes dans les données d'entrée est le même que dans la table cible.

Formats pris en charge :

* [CSVWithNames](/fr/reference/formats/CSV/CSVWithNames)
* [CSVWithNamesAndTypes](/fr/reference/formats/CSV/CSVWithNamesAndTypes)
* [TabSeparatedWithNames](/fr/reference/formats/TabSeparated/TabSeparatedWithNames)
* [TabSeparatedWithNamesAndTypes](/fr/reference/formats/TabSeparated/TabSeparatedWithNamesAndTypes)
* [JSONCompactEachRowWithNames](/fr/reference/formats/JSON/JSONCompactEachRowWithNames)
* [JSONCompactEachRowWithNamesAndTypes](/fr/reference/formats/JSON/JSONCompactEachRowWithNamesAndTypes)
* [JSONCompactStringsEachRowWithNames](/fr/reference/formats/JSON/JSONCompactStringsEachRowWithNames)
* [JSONCompactStringsEachRowWithNamesAndTypes](/fr/reference/formats/JSON/JSONCompactStringsEachRowWithNamesAndTypes)
* [RowBinaryWithNames](/fr/reference/formats/RowBinary/RowBinaryWithNames)
* [RowBinaryWithNamesAndTypes](/fr/reference/formats/RowBinary/RowBinaryWithNamesAndTypes)
* [CustomSeparatedWithNames](/fr/reference/formats/CustomSeparated/CustomSeparatedWithNames)
* [CustomSeparatedWithNamesAndTypes](/fr/reference/formats/CustomSeparated/CustomSeparatedWithNamesAndTypes)

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

<div id="input_format_with_types_use_header">
  ## input\_format\_with\_types\_use\_header
</div>

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

Détermine si l’analyseur de format doit vérifier que les types de données des données d’entrée correspondent à ceux de la table cible.

Formats pris en charge :

* [CSVWithNamesAndTypes](/fr/reference/formats/CSV/CSVWithNamesAndTypes)
* [TabSeparatedWithNamesAndTypes](/fr/reference/formats/TabSeparated/TabSeparatedWithNamesAndTypes)
* [JSONCompactEachRowWithNamesAndTypes](/fr/reference/formats/JSON/JSONCompactEachRowWithNamesAndTypes)
* [JSONCompactStringsEachRowWithNamesAndTypes](/fr/reference/formats/JSON/JSONCompactStringsEachRowWithNamesAndTypes)
* [RowBinaryWithNamesAndTypes](/fr/reference/formats/RowBinary/RowBinaryWithNamesAndTypes)
* [CustomSeparatedWithNamesAndTypes](/fr/reference/formats/CustomSeparated/CustomSeparatedWithNamesAndTypes)

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

<div id="insert_distributed_one_random_shard">
  ## insert\_distributed\_one\_random\_shard
</div>

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

Active ou désactive l'insertion dans un shard choisi aléatoirement dans une table [Distributed](/fr/reference/engines/table-engines/special/distributed) lorsqu'aucune clé de distribution n'est définie.

Par défaut, lors de l'insertion de données dans une table `Distributed` comportant plus d'un shard, le serveur ClickHouse rejette toute requête d'insertion si aucune clé de distribution n'est définie. Lorsque `insert_distributed_one_random_shard = 1`, les insertions sont autorisées et les données sont transmises aléatoirement à l'un des shards.

Valeurs possibles :

* 0 — L'insertion est rejetée s'il y a plusieurs shards et qu'aucune clé de distribution n'est définie.
* 1 — L'insertion est effectuée aléatoirement parmi tous les shards disponibles lorsqu'aucune clé de distribution n'est définie.

<div id="interval_output_format">
  ## interval\_output\_format
</div>

<SettingsInfoBlock type="IntervalOutputFormat" default_value="numeric" />

Permet de choisir différents formats de sortie pour la représentation textuelle des types d'intervalle.

Valeurs possibles :

* `kusto` - Format de sortie de style KQL.

  ClickHouse affiche les intervalles au [format KQL](https://learn.microsoft.com/en-us/dotnet/standard/base-types/standard-timespan-format-strings#the-constant-c-format-specifier). Par exemple, `toIntervalDay(2)` est formaté sous la forme `2.00:00:00`. Veuillez noter que, pour les types d'intervalle de longueur variable (c.-à-d. `IntervalMonth` et `IntervalYear`), le nombre moyen de secondes par intervalle est pris en compte.

* `numeric` - Format de sortie numérique.

  ClickHouse affiche les intervalles selon leur représentation numérique sous-jacente. Par exemple, `toIntervalDay(2)` est formaté sous la forme `2`.

Voir aussi :

* [Interval](/fr/reference/data-types/special-data-types/interval)

<div id="into_outfile_create_parent_directories">
  ## into\_outfile\_create\_parent\_directories
</div>

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

Crée automatiquement les répertoires parents lors de l’utilisation de INTO OUTFILE s’ils n’existent pas encore.

<div id="json_type_escape_dots_in_keys">
  ## json\_type\_escape\_dots\_in\_keys
</div>

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

Lorsqu’il est activé, les points dans les clés JSON sont échappés lors de l’analyse.

<div id="max_dynamic_subcolumns_in_json_type_parsing">
  ## max\_dynamic\_subcolumns\_in\_json\_type\_parsing
</div>

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

Nombre maximal de sous-colonnes dynamiques pouvant être créées dans chaque colonne lors de l'analyse d'une colonne JSON.
Il permet de contrôler le nombre de sous-colonnes dynamiques lors de l'analyse, indépendamment des paramètres dynamiques spécifiés dans le type de données.

<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": "Nouveau paramètre permettant d’afficher systématiquement un séparateur décimal pour les nombres à virgule flottante et les nombres Decimal dans les formats texte, même lorsque la valeur est un nombre entier."}]}]} />

Afficher systématiquement un séparateur décimal pour les nombres à virgule flottante et les nombres Decimal dans les formats texte, même lorsque la valeur est un nombre entier. Par exemple, afficher `1.` au lieu de `1`.

Désactivé par défaut.

<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": "Utilise la compression lz4_frame par défaut pour le format de sortie Arrow"}]}]} />

Méthode de compression du format de sortie Arrow. Codecs pris en charge : lz4\_frame, zstd, none (sans compression)

<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": "Écrit les valeurs Date sous forme de DATE32 Arrow plutôt que de UInt16 brut par défaut."}]}]} />

Écrit les valeurs Date sous forme de nombres 16 bits bruts (relus comme UInt16), au lieu de les convertir en type DATE32 Arrow 32 bits (relu comme 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": "Utiliser par défaut le type Arrow FIXED_SIZE_BINARY pour FixedString"}]}]} />

Utilise le type Arrow FIXED\_SIZE\_BINARY au lieu de Binary pour les colonnes FixedString.

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

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

Active la sortie du type LowCardinality sous forme de type Arrow Dictionary

<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 autorise des données binaires arbitraires dans le type de données String, généralement encodé en UTF-8. Les types String de Parquet/ORC/Arrow ne prennent en charge que l’UTF-8. C’est pourquoi vous pouvez choisir quel type de données Arrow utiliser pour le type de données String de ClickHouse : String ou Binary. Bien que Binary soit plus correct et plus compatible, utiliser String par défaut correspondra dans la plupart des cas aux attentes des utilisateurs."}]}]} />

Utiliser le type String d’Arrow au lieu de Binary pour les colonnes 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": "Nouveau paramètre permettant de convertir les types CH non pris en charge en binaire Arrow au lieu de lever une exception UNKNOWN_TYPE."}]}]} />

Renvoie les types sans conversion sous forme de données binaires brutes. Si false, ces types lèvent une exception 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": "Autoriser l’utilisation d’un type d’index sur 64 bits dans les dictionnaires Arrow"}]}, {"id": "row-2","items": [{"label": "24.1"},{"label": "0"},{"label": "Autoriser l’utilisation d’un type d’index sur 64 bits dans les dictionnaires Arrow"}]}]} />

Toujours utiliser des entiers 64 bits pour les index de dictionnaire au format 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": "Utiliser par défaut le type d’index signé pour les dictionnaires Arrow, comme recommandé"}]}]} />

Utiliser des entiers signés pour les index de dictionnaire au format Arrow

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

Codec de compression utilisé en sortie. Valeurs possibles : '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": "Nouveau paramètre permettant de spécifier le nom du subject pour l’enregistrement du schéma dans Confluent Schema Registry lors de l’écriture au format de sortie AvroConfluent."}]}]} />

Pour le format de sortie AvroConfluent : nom du subject sous lequel le schéma est enregistré dans Confluent Schema Registry. Obligatoire lors de l’écriture au format de sortie AvroConfluent.

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

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

Nombre maximal de lignes dans un fichier (si le stockage le permet)

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

Pour le format Avro : expression régulière des colonnes de type String à sélectionner en tant que chaîne AVRO.

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

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

Intervalle de synchronisation, en octets.

<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": "Ajout d’un nouveau paramètre pour permettre d’écrire les noms de type au format binaire dans le format de sortie RowBinaryWithNamesAndTypes"}]}]} />

Écrire les types de données au format binaire plutôt que les noms de type dans le format de sortie 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": "Ajout d’un nouveau paramètre pour écrire les valeurs de type JSON sous forme de valeurs JSON [String](/reference/data-types/string) dans le format de sortie RowBinary"}]}]} />

Écrit les valeurs de type [JSON](/fr/reference/data-types/newjson) sous forme de valeurs JSON [String](/fr/reference/data-types/string) dans le format de sortie RowBinary.

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

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

Utilise le type BSON String au lieu de Binary pour les colonnes de type 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": "Permet de modifier le niveau de compression de la sortie de la requête"}]}]} />

Niveau de compression par défaut lorsque la sortie de la requête est compressée. Ce paramètre s’applique lorsque la requête `SELECT` utilise `INTO OUTFILE` ou lors de l’écriture dans les fonctions de table `file`, `url`, `hdfs`, `s3` ou `azureBlobStorage`.

Valeurs possibles : de `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": "Permet de modifier la valeur du window log zstd dans la sortie de la requête lorsque la compression zstd est utilisée"}]}]} />

Peut être utilisé lorsque la méthode de compression de sortie est `zstd`. Si elle est supérieure à `0`, ce paramètre définit explicitement la taille de la fenêtre de compression (puissance de `2`) et active un mode longue portée pour la compression zstd. Cela peut aider à obtenir un meilleur taux de compression.

Valeurs possibles : nombres non négatifs. Notez que si la valeur est trop petite ou trop grande, `zstdlib` lèvera une exception. Les valeurs typiques vont de `20` (taille de fenêtre = `1MB`) à `30` (taille de fenêtre = `1GB`).

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

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

Si ce paramètre est défini sur true, la fin de ligne au format CSV sera \r\n au lieu de \n.

<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": "Une nouvelle manière d’interpréter les tuples au format CSV a été ajoutée."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "Une nouvelle manière d’interpréter les tuples au format CSV a été ajoutée."}]}]} />

Si ce paramètre est défini sur true, les Tuples au format CSV sont sérialisés dans des colonnes distinctes (c’est-à-dire que leur imbrication dans le tuple est perdue)

<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": "Par défaut, ne pas afficher les zéros non significatifs dans la représentation textuelle des types Decimal, pour un rendu plus lisible"}]}]} />

Afficher les zéros non significatifs lors de l’affichage des valeurs Decimal. Par exemple, 1.230000 au lieu de 1.23.

Désactivé par défaut.

<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": "Un nouveau paramètre pour contrôler le nombre de décimales dans la sortie des flottants"}]}]} />

Lorsque cette valeur est non nulle, la sortie des nombres à virgule flottante (`Float32`, `Float64`, `BFloat16`) est formatée avec au plus ce nombre de chiffres après la virgule (les zéros finaux sont supprimés).
Lorsqu’elle vaut 0 (valeur par défaut), la représentation la plus courte permettant un aller-retour est utilisée.

Les valeurs trop grandes pour la notation fixe, ainsi que les valeurs dont la valeur absolue est si faible qu’un arrondi à la précision demandée ferait perdre tous les chiffres significatifs (la mantisse deviendrait `±0`), sont émises en notation scientifique à la place. Dans ces cas, la mantisse peut comporter plus de chiffres fractionnaires que le nombre demandé.

Plage valide : 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": "Nouveau paramètre qui définit la hauteur de l’image de sortie pour les formats de sortie d’image tels que PNG."}]}]} />

Hauteur, en pixels, de l’image de sortie pour les formats de sortie d’image tels que `PNG`.

Valeur par défaut : 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": "Nouveau paramètre déterminant si les formats de sortie d’image tels que PNG sont affichés directement dans le terminal à l’aide d’un protocole d’image intégré."}]}]} />

Pour les formats de sortie d’image tels que `PNG`, affiche l’image directement dans le terminal à l’aide d’un protocole d’image intégré au lieu d’écrire les octets bruts de l’image.

Valeurs possibles :

* \`\` (vide) — écrire les octets bruts de l’image (par défaut).
* `iterm` — utiliser le protocole d’image intégré d’iTerm2.
* `kitty` — utiliser le protocole graphique Kitty.
* `sixel` — utiliser le protocole Sixel.
* `auto` — si la sortie est un terminal, détecter ses capacités et utiliser `iterm`, `kitty` ou `sixel` (dans cet ordre) ; sinon, écrire les octets bruts de l’image.

Valeur par défaut : \`\` (vide).

<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": "Nouveau paramètre qui contrôle la largeur de l’image de sortie pour les formats de sortie d’image tels que PNG."}]}]} />

Largeur, en pixels, de l’image de sortie pour les formats de sortie d’image tels que `PNG`.

Valeur par défaut : 1024.

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

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

Permet de générer toutes les lignes sous la forme d’un tableau JSON au format [JSONEachRow](/fr/reference/formats/JSON/JSONEachRow).

Valeurs possibles :

* 1 — ClickHouse génère toutes les lignes sous la forme d’un tableau, chaque ligne étant au format `JSONEachRow`.
* 0 — ClickHouse génère chaque ligne séparément au format `JSONEachRow`.

**Exemple de requête avec ce paramètre activé**

Requête :

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

Résultat :

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

**Exemple de requête avec le paramètre désactivé**

Requête :

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

Résultat :

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

Contrôle l’échappement des barres obliques `/` dans les sorties de chaînes au format de sortie JSON. Ce paramètre vise à assurer la compatibilité avec JavaScript. Ne pas confondre avec les backslashes, qui sont toujours échappés.

Activé par défaut.

<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": "Nouveau paramètre"}]}]} />

Sérialise les colonnes Map sous forme de tableaux JSON de tuples.

Désactivé par défaut.

<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": "Permet de sérialiser par défaut les tuples nommés sous forme d’objets JSON dans les formats JSON"}]}]} />

Sérialise les colonnes de tuples nommés sous forme d’objets JSON.

Activé par défaut.

<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": "Afficher les valeurs au format Pretty dans le format de sortie JSON par défaut"}]}]} />

Ce paramètre détermine comment les structures imbriquées telles que les Tuples, les Maps et les Arrays sont affichées dans le tableau `data` lors de l’utilisation du format de sortie JSON.

Par exemple, au lieu d’obtenir :

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

La sortie aura le format suivant :

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

Activé par défaut.

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

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

Contrôle la mise entre guillemets des [valeurs à virgule flottante](/fr/reference/data-types/float) 64 bits lors de leur sortie dans les formats JSON\*.

Désactivé par défaut.

<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": "Désactive par défaut la mise entre guillemets des entiers 64 bits en JSON"}]}]} />

Contrôle la mise entre guillemets des [entiers](/fr/reference/data-types/int-uint) 64 bits ou supérieurs (comme `UInt64` ou `Int128`) lorsqu’ils sont affichés au format [JSON](/fr/reference/formats/JSON/JSON).
Par défaut, ces entiers sont entourés de guillemets. Ce comportement est compatible avec la plupart des implémentations JavaScript.

Valeurs possibles :

* 0 — Les entiers sont affichés sans guillemets.
* 1 — Les entiers sont entourés de guillemets.

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

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

Contrôle la mise entre guillemets des valeurs décimales dans les formats de sortie JSON.

Désactivé par défaut.

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

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

Permet d’inclure les valeurs `+nan`, `-nan`, `+inf`, `-inf` dans le format de sortie [JSON](/fr/reference/formats/JSON/JSON).

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

**Exemple**

Considérez la table `account_orders` suivante :

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

Lorsque `output_format_json_quote_denormals = 0`, la requête renvoie des valeurs `null` dans la sortie :

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

Lorsque `output_format_json_quote_denormals = 1`, la requête renvoie :

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

Ignorer les paires clé-valeur dont la valeur est NULL lors de la sérialisation des colonnes de tuples nommés en objets JSON. Ce paramètre n'est valide que lorsque output\_format\_json\_named\_tuples\_as\_objects est true.

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

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

Contrôle la validation des séquences UTF-8 dans les formats de sortie JSON ; n'affecte pas les formats JSON/JSONCompact/JSONColumnsWithMetadata, qui valident toujours l'UTF-8.

Désactivé par défaut.

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

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

Lorsqu’il est activé, les caractères spéciaux dans Markdown sont échappés.

[Common Mark](https://spec.commonmark.org/0.30/#example-12) définit les caractères spéciaux suivants, qui peuvent être échappés :

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

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

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

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

Définit la manière dont un UUID est généré au format 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": "Ajout d’un nouveau paramètre permettant d’écrire les noms de type au format binaire dans le format de sortie Native"}]}]} />

Écrit les types de données au format binaire au lieu des noms de type dans le format de sortie 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": "Ajout de sérialisations Dynamic/JSON aplaties au format Native"}]}]} />

Écrit les données des colonnes [JSON](/fr/reference/data-types/newjson) et [Dynamic](/fr/reference/data-types/dynamic) dans un format aplati (tous les types/chemins sous forme de sous-colonnes distinctes).

<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": "Ajout d’un nouveau paramètre permettant d’écrire une colonne JSON comme une seule colonne String au format Native"}]}]} />

Écrit les données d’une colonne [JSON](/fr/reference/data-types/newjson) sous forme de colonne [String](/fr/reference/data-types/string) contenant des chaînes JSON, au lieu de la sérialisation JSON native par défaut.

<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": "Nouveau paramètre"}]}]} />

Taille, en octets, du bloc de compression pour le format de sortie 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 prennent en charge un grand nombre de méthodes de compression, notamment lz4 et zstd. ClickHouse les prend toutes en charge. Certains outils plus limités, comme 'duckdb', ne prennent pas en charge la méthode de compression `lz4`, plus rapide, c'est pourquoi nous utilisons zstd par défaut."}]}, {"id": "row-2","items": [{"label": "23.3"},{"label": "lz4_frame"},{"label": "Utilise par défaut la compression lz4 pour le format de sortie ORC"}]}]} />

Méthode de compression pour le format de sortie ORC. Codecs pris en charge : lz4, snappy, zlib, zstd, none (non compressé)

<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": "Pour une colonne de type chaîne de caractères au format de sortie ORC, si le nombre de valeurs distinctes dépasse cette fraction du nombre total de lignes non NULL, l’encodage par dictionnaire est désactivé. Sinon, l’encodage par dictionnaire est activé"}]}]} />

Pour une colonne de type chaîne de caractères au format de sortie ORC, si le nombre de valeurs distinctes dépasse cette fraction du nombre total de lignes non NULL, l’encodage par dictionnaire est désactivé. Sinon, l’encodage par dictionnaire est activé

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

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

Pas cible de l’index de ligne dans le format de sortie 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 autorise des données binaires arbitraires dans le type de données String, généralement encodé en UTF-8. Les chaînes Parquet/ORC/Arrow ne prennent en charge que l'UTF-8. Vous pouvez donc choisir le type de données Arrow à utiliser pour le type de données String de ClickHouse : String ou Binary. Bien que Binary soit plus correct et plus compatible, utiliser String par défaut correspondra dans la plupart des cas aux attentes des utilisateurs."}]}]} />

Utiliser le type String d’ORC au lieu de Binary pour les colonnes 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": "Nom du fuseau horaire du writer ORC ; le fuseau horaire par défaut du writer ORC est GMT."}]}]} />

Nom du fuseau horaire du writer ORC ; le fuseau horaire par défaut du writer ORC est GMT.

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

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

Active ou désactive la mise en forme parallèle des données. Pris en charge uniquement pour les formats [TSV](/fr/reference/formats/TabSeparated/TabSeparated), [TSKV](/fr/reference/formats/TabSeparated/TSKV), [CSV](/fr/reference/formats/CSV/CSV) et [JSONEachRow](/fr/reference/formats/JSON/JSONEachRow).

Valeurs possibles :

* 1 — Activé.
* 0 — Désactivé.

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

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

Vérifie la taille de la page toutes les x lignes. Envisagez de la diminuer si vous avez des colonnes dont la taille moyenne des valeurs dépasse quelques Ko.

<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": "Nouveau paramètre."}]}]} />

Nombre approximatif de bits à utiliser pour chaque valeur distincte dans les filtres de Bloom Parquet. Taux de faux positifs estimés :

* 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": "Nouveau paramètre."}]}]} />

Emplacement des filtres de Bloom dans le fichier Parquet. Les filtres de Bloom seront écrits par groupes d’environ cette taille. Plus précisément :

* si 0, les filtres de Bloom de chaque groupe de lignes sont écrits immédiatement après le groupe de lignes,
  * si cette valeur est supérieure à la taille totale de tous les filtres de Bloom, les filtres de Bloom de tous les groupes de lignes seront accumulés en mémoire, puis écrits ensemble vers la fin du fichier,
  * sinon, les filtres de Bloom seront accumulés en mémoire et écrits dès que leur taille totale dépasse cette valeur.

<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 prennent en charge de nombreuses méthodes de compression, notamment lz4 et zstd. ClickHouse les prend toutes en charge. Certains outils moins aboutis, comme 'duckdb', ne prennent pas en charge la méthode de compression `lz4`, plus rapide, c'est pourquoi nous utilisons zstd par défaut."}]}, {"id": "row-2","items": [{"label": "23.3"},{"label": "lz4"},{"label": "Utilise la compression lz4 par défaut pour le format de sortie Parquet"}]}]} />

Méthode de compression pour le format de sortie Parquet. Codecs pris en charge : snappy, lz4, brotli, zstd, gzip, none (non compressé)

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

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

Taille cible de la page, en octets, avant compression.

<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": "Ajout d’un paramètre de compatibilité pour une modification mineure rompant la compatibilité, introduite précédemment en version 24.12."}]}, {"id": "row-2","items": [{"label": "24.12"},{"label": "0"},{"label": "Écrit les valeurs Date sous forme de nombres 16 bits bruts (relus comme UInt16), au lieu de les convertir en type DATE Parquet 32 bits (relu comme Date32)."}]}]} />

Écrit les valeurs Date sous forme de nombres 16 bits bruts (relus comme UInt16), au lieu de les convertir en type DATE Parquet 32 bits (relu comme 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": "Écrire DateTime au format DateTime64(3) au lieu de UInt32 (ce sont les deux types Parquet les plus proches de DateTime)."}]}]} />

Écrit les valeurs DateTime sous forme de timestamp Unix brut (relues comme UInt32), au lieu de les convertir en millisecondes (relues comme 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": "Activer par défaut l’écriture de Enum sous forme de tableau d’octets dans Parquet"}]}, {"id": "row-2","items": [{"label": "25.7"},{"label": "0"},{"label": "Écrire enum avec le type physique Parquet : BYTE_ARRAY et le type logique : ENUM"}]}]} />

Écrire enum avec le type physique Parquet : BYTE\_ARRAY et le type logique : 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": "Utiliser par défaut le type Parquet FIXED_LENGTH_BYTE_ARRAY pour FixedString"}]}]} />

Utiliser le type Parquet FIXED\_LEN\_BYTE\_ARRAY au lieu de Binary pour les colonnes 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": "Nouveau paramètre permettant d’écrire des informations sur les colonnes Geo dans les métadonnées Parquet et d’encoder les colonnes au format WKB."}]}]} />

Permet d’écrire des informations sur les colonnes Geo dans les métadonnées Parquet et d’encoder les colonnes au format 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": "Nouveau paramètre"}]}]} />

Si la taille du dictionnaire dépasse ce nombre d’octets, utilisez un encodage sans dictionnaire. Définissez cette valeur sur 0 pour désactiver l’encodage par dictionnaire.

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

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

Effectue l’encodage Parquet en parallèle sur plusieurs threads.

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

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

Taille cible du groupe de lignes, en lignes.

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

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

Taille cible du groupe de lignes, en octets, avant la compression.

<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 autorise des données binaires arbitraires dans le type de données String, qui contient généralement de l’UTF-8. Les types String de Parquet/ORC/Arrow ne prennent en charge que l’UTF-8. Vous pouvez donc choisir le type de données Arrow à utiliser pour le type de données String de ClickHouse : String ou Binary. Bien que Binary soit plus correct et plus compatible, utiliser String par défaut correspondra, dans la plupart des cas, aux attentes des utilisateurs."}]}]} />

Utiliser le type String de Parquet au lieu de Binary pour les colonnes 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": "Ajout de la prise en charge de l’écriture de filtres de Bloom dans les fichiers Parquet."}]}]} />

Écrit des filtres de Bloom dans les fichiers 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": "Nouveau paramètre."}]}]} />

Ajoute des sommes de contrôle CRC32 aux en-têtes de page 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": "Ajoute la possibilité d’écrire l’index de page dans des fichiers Parquet."}]}]} />

Écrit l’index de colonne et l’index d’offset (c.-à-d. des statistiques sur chaque page de données, qui peuvent être utilisées pour le pushdown des filtres lors de la lecture) dans des fichiers 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": "Le paramètre a été modifié pour autoriser également la valeur auto, en désactivant les séquences d’échappement ANSI si la sortie n’est pas un tty"}]}]} />

Utilise les séquences d’échappement ANSI dans les formats Pretty. 0 - désactivé, 1 - activé, 'auto' - activé si la sortie est un 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": "Ajoute un paramètre pour afficher les noms de colonnes dans le pied de page lorsqu'une table contient de nombreuses lignes. La valeur seuil est contrôlée par output_format_pretty_display_footer_column_names_min_rows."}]}]} />

Affiche les noms de colonnes dans le pied de page lorsqu'une table contient de nombreuses lignes.

Valeurs possibles :

* 0 — Aucun nom de colonne n'est affiché dans le pied de page.
* 1 — Les noms de colonnes sont affichés dans le pied de page si le nombre de lignes est supérieur ou égal à la valeur seuil définie par [output\_format\_pretty\_display\_footer\_column\_names\_min\_rows](#output_format_pretty_display_footer_column_names_min_rows) (50 par défaut).

**Exemple**

Requête :

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

Résultat :

```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": "Ajoute un paramètre permettant de contrôler la valeur seuil de output_format_pretty_display_footer_column_names_min_rows. Valeur par défaut : 50."}]}]} />

Définit le nombre minimal de lignes à partir duquel un pied de page contenant les noms des colonnes s’affiche si le paramètre [output\_format\_pretty\_display\_footer\_column\_names](#output_format_pretty_display_footer_column_names) est activé.

<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": "Nouveau paramètre"}]}]} />

Si ce paramètre est activé et que la table est large mais peu haute, le format Pretty l’affiche comme le format Vertical.
Consultez `output_format_pretty_fallback_to_vertical_max_rows_per_chunk` et `output_format_pretty_fallback_to_vertical_min_table_width` pour ajuster finement ce comportement.

<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": "Nouveau paramètre"}]}]} />

Le basculement vers le format Vertical (voir `output_format_pretty_fallback_to_vertical`) n'est activé que si le nombre de lignes dans un chunk ne dépasse pas la valeur spécifiée.

<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": "Nouveau paramètre"}]}]} />

Le basculement vers le format Vertical (voir `output_format_pretty_fallback_to_vertical`) ne s’active que si le nombre de colonnes est supérieur à la valeur spécifiée.

<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": "Nouveau paramètre"}]}]} />

Le passage au format Vertical (voir `output_format_pretty_fallback_to_vertical`) ne sera activé que si la somme des longueurs des colonnes d'une table est au moins égale à la valeur spécifiée, ou si au moins une valeur contient un caractère de saut de ligne.

<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": "Nouveau paramètre pour rendre les formats Pretty plus agréables visuellement."}]}]} />

Si les données affichées au format Pretty arrivent en plusieurs chunks, même avec un délai, mais que le chunk suivant a les mêmes largeurs de colonnes que le précédent, utilisez des séquences d’échappement ANSI pour revenir à la ligne précédente et écraser le pied de page du chunk précédent afin de le prolonger avec les données du nouveau chunk. Le résultat est ainsi plus agréable à l’œil.

0 - désactivé, 1 - activé, 'auto' - activé dans un terminal.

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

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

Jeu de caractères utilisé pour l’affichage des bordures de la grille. Jeux de caractères disponibles : ASCII, UTF-8 (par défaut).

En mode interactif, `clickhouse-client` bascule automatiquement vers `ASCII` si le terminal ne prend pas en charge UTF-8 (tel que déterminé par les variables d’environnement `LC_ALL`, `LC_CTYPE` et `LANG`), sauf si ce paramètre est explicitement défini.

<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": "Si cette option est activée et si la sortie est un terminal, chaque chiffre correspondant aux milliers, millions, etc. est mis en évidence par soulignement."}]}]} />

Si cette option est activée et si la sortie est un terminal, chaque chiffre correspondant aux milliers, millions, etc. est mis en évidence par soulignement.

<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": "Nouveau paramètre."}]}]} />

Si cette option est activée et que la sortie est un terminal, les espaces de fin de ligne sont mis en évidence en gris et soulignés.

<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": "Un nouveau paramètre"}]}]} />

Si le nom de la colonne est trop long, il est tronqué à cette longueur.
La colonne est tronquée si sa longueur dépasse `output_format_pretty_max_column_name_width_cut_to` plus `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": "Nouveau paramètre"}]}]} />

Nombre minimum de caractères à tronquer si le nom de la colonne est trop long.
Le nom de la colonne sera tronqué s'il dépasse `output_format_pretty_max_column_name_width_cut_to` plus `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" />

Largeur maximale du remplissage appliqué à toutes les valeurs d’une colonne dans les formats 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": "C’est préférable pour le confort d’utilisation : moins de contenu à faire défiler."}]}]} />

Limite du nombre de lignes pour les formats Pretty.

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

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

Largeur maximale de la valeur affichée dans les formats Pretty. Au-delà, elle sera tronquée.
La valeur 0 signifie : ne jamais tronquer.

<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": "Les valeurs seules dans les formats Pretty ne sont pas tronquées."}]}]} />

Ne tronquez les valeurs (voir le paramètre `output_format_pretty_max_value_width`) que lorsqu'il ne s'agit pas d'une valeur seule dans un bloc. Sinon, affichez-la en entier, ce qui est utile pour la requête `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": "Nouveau paramètre"}]}]} />

Si cette option est activée, les formats Pretty afficheront les champs sur plusieurs lignes à l’intérieur des cellules du tableau, de sorte que les bordures du tableau soient préservées.
Sinon, ils seront affichés tels quels, ce qui peut déformer le tableau (l’un des avantages de laisser cette option désactivée est qu’il sera plus facile de copier-coller des valeurs sur plusieurs lignes).

<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": "Nouveau paramètre permettant de contrôler si les tuples nommés dans le format Pretty sont affichés sous forme d’objets JSON"}]}]} />

Contrôle si les tuples nommés dans le format Pretty sont affichés sous forme d’objets JSON mis en forme de manière lisible.

<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": "Cela améliore la lisibilité."}]}]} />

Ajouter les numéros de ligne avant chaque ligne pour le format de sortie 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": "Afficher une indication lisible du nombre sur le côté droit de la table si le bloc ne contient qu'un seul nombre dépassant cette valeur (hors 0)"}]}]} />

Afficher une indication lisible du nombre sur le côté droit de la table si le bloc ne contient qu'un seul nombre dépassant cette valeur (hors 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": "Ajout d’un nouveau paramètre"}]}]} />

Attendre le bloc suivant pendant le nombre de millisecondes spécifié et le fusionner avec le précédent avant l’écriture.
Cela évite d’émettre trop souvent des blocs trop petits, tout en permettant d’afficher les données en continu.

<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": "Nouveau paramètre"}]}]} />

Affiche le bloc en attente dans les formats Pretty si le nombre de millisecondes écoulées depuis la sortie précédente dépasse la valeur spécifiée.

<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": "Nouveau paramètre. Lorsqu’il est activé, l’espacement de remplissage dans la sortie `Pretty` est rendu avec `U+00A0` afin d’être préservé lors d’un copier-coller via des outils qui compressent les suites d’espaces ordinaires."}]}]} />

S’il est activé, l’espacement de remplissage dans les formats de sortie `Pretty` est rendu avec `U+00A0` au lieu d’un espace ASCII.
La sortie reste visuellement identique dans une police à chasse fixe, mais cet espacement de remplissage est préservé par les outils qui compressent ou suppriment les suites d’espaces ordinaires.
Ne prend effet que lorsque `output_format_pretty_grid_charset` vaut `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" />

Lors de la sérialisation de colonnes Nullable avec des wrappers Google, sérialisez les valeurs par défaut sous forme de wrappers vides. Si ce paramètre est désactivé, les valeurs par défaut et les valeurs NULL ne sont pas sérialisées

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

Chemin du fichier dans lequel le schéma généré automatiquement sera enregistré aux formats [Cap'n Proto](/fr/reference/formats/CapnProto) ou [Protobuf](/fr/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" />

Inclut les noms de colonnes dans la requête INSERT

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

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

Le nombre maximal de lignes dans une seule instruction INSERT.

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

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

Met les noms de colonnes entre apostrophes inversées (« \` »)

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

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

Le nom de la table dans la requête INSERT en sortie

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

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

Utiliser l’instruction REPLACE au lieu d’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": "Nouveau paramètre pour supprimer les octets nuls de fin des valeurs FixedString dans les formats de sortie textuels"}]}]} />

Supprime les octets nuls de fin des valeurs FixedString dans les formats de sortie textuels. Par exemple, `toFixedString('John', 8)` s'affiche sous la forme `John` au lieu 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" />

Si cette option est définie sur true, la fin de ligne au format TSV sera \r\n au lieu 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": "Si true, échapper ' en '', sinon avec \'"}]}]} />

Si true, échapper ' en '', sinon avec \\'

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

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

Écrit des statistiques concernant les lignes lues, les octets et le temps écoulé dans les formats de sortie compatibles.

Activé par défaut

<div id="precise_float_parsing">
  ## precise\_float\_parsing
</div>

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

Privilégier un algorithme d’analyse des nombres à virgule flottante plus précis (mais plus lent)

<div id="schema_inference_hints">
  ## schema\_inference\_hints
</div>

La liste des noms de colonnes et des types à utiliser comme indications lors de l’inférence de schéma pour les formats sans schéma.

Exemple :

Requête :

```sql theme={null}
desc format(JSONEachRow, '{"x" : 1, "y" : "String", "z" : "0.0.0.0" }') settings schema_inference_hints='x UInt8, z IPv4';
```

Résultat :

```sql theme={null}
x   UInt8
y   Nullable(String)
z   IPv4
```

<Note>
  Si `schema_inference_hints` n’est pas correctement formaté, ou s’il contient une faute de frappe, un type de données erroné, etc., l’intégralité de `schema&#95;inference&#95;hints` sera ignorée.
</Note>

<div id="schema_inference_make_columns_nullable">
  ## schema\_inference\_make\_columns\_nullable
</div>

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

Contrôle si les types inférés sont rendus `Nullable` lors de l’inférence de schéma.
Valeurs possibles :

* 0 - le type inféré ne sera jamais `Nullable` (utilisez input\_format\_null\_as\_default pour définir le comportement à adopter avec les valeurs nulles dans ce cas),
* 1 - tous les types inférés seront `Nullable`,
* 2 ou `auto` - le type inféré sera `Nullable` uniquement si la colonne contient `NULL` dans un échantillon analysé lors de l’inférence de schéma, ou si les métadonnées du fichier contiennent des informations sur la nullabilité de la colonne,
* 3 - la nullabilité du type inféré correspondra aux métadonnées du fichier si le format la prend en charge (par ex. Parquet) ; sinon, il sera toujours `Nullable` (par ex. CSV).

<div id="schema_inference_make_json_columns_nullable">
  ## schema\_inference\_make\_json\_columns\_nullable
</div>

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

Contrôle si les types JSON inférés sont rendus `Nullable` lors de l’inférence de schéma.
Si ce paramètre est activé avec schema\_inference\_make\_columns\_nullable, le type JSON inféré sera `Nullable`.

<div id="schema_inference_mode">
  ## schema\_inference\_mode
</div>

<SettingsInfoBlock type="SchemaInferenceMode" default_value="default" />

Mode d’inférence de schéma. 'default' - suppose que tous les fichiers ont le même schéma et que celui-ci peut être inféré à partir de n’importe quel fichier, 'union' - les fichiers peuvent avoir des schémas différents et le schéma résultant doit être l’union des schémas de tous les fichiers

<div id="show_create_query_identifier_quoting_rule">
  ## show\_create\_query\_identifier\_quoting\_rule
</div>

<SettingsInfoBlock type="IdentifierQuotingRule" default_value="when_necessary" />

Définit la règle de mise entre guillemets des identifiants pour la requête SHOW CREATE

<div id="show_create_query_identifier_quoting_style">
  ## show\_create\_query\_identifier\_quoting\_style
</div>

<SettingsInfoBlock type="IdentifierQuotingStyle" default_value="Accents graves" />

Définit le style de citation des identifiants dans la requête SHOW CREATE

<div id="type_json_allow_duplicated_key_with_literal_and_nested_object">
  ## type\_json\_allow\_duplicated\_key\_with\_literal\_and\_nested\_object
</div>

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

Lorsqu’elle est activée, cette option permet d’analyser des JSON tels que `{"a" : 42, "a" : {"b" : 42}}`, dans lesquels une clé est dupliquée mais où l’une des occurrences est un objet imbriqué.

<div id="type_json_skip_duplicated_paths">
  ## type\_json\_skip\_duplicated\_paths
</div>

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

Lorsqu'il est activé, lors de l'analyse d'un objet JSON vers le type JSON, les chemins dupliqués sont ignorés et seul le premier est inséré au lieu de provoquer une exceptio

<div id="type_json_skip_invalid_typed_paths">
  ## type\_json\_skip\_invalid\_typed\_paths
</div>

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

Lorsqu’il est activé, les champs dont les valeurs ne peuvent pas être converties vers leur type déclaré dans des colonnes de type JSON avec des chemins typés sont ignorés au lieu de générer une erreur. Les champs ignorés sont traités comme des valeurs manquantes et utiliseront des valeurs par défaut ou NULL selon la définition du chemin typé.

Ce paramètre s’applique uniquement aux colonnes de type JSON (par ex., JSON(a Int64, b String)) pour lesquelles des chemins spécifiques ont des types déclarés. Il ne s’applique pas aux formats d’entrée JSON ordinaires comme JSONEachRow lors d’un insert dans des colonnes typées ordinaires.

Valeurs possibles :

* 0 — Désactiver (générer une erreur en cas d’incompatibilité de type).
* 1 — Activer (ignorer le champ en cas d’incompatibilité de type).

<div id="type_json_use_partial_match_to_skip_paths_by_regexp">
  ## type\_json\_use\_partial\_match\_to\_skip\_paths\_by\_regexp
</div>

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

Lorsqu’il est activé, lors de l’analyse d’un objet JSON vers le type JSON, les expressions régulières spécifiées à l’aide de SKIP REGEXP doivent présenter une correspondance partielle pour ignorer un chemin. Lorsqu’il est désactivé, une correspondance complète est requise.

<div id="validate_experimental_and_suspicious_types_inside_nested_types">
  ## validate\_experimental\_and\_suspicious\_types\_inside\_nested\_types
</div>

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

Valider l’utilisation de types expérimentaux et suspects dans des types imbriqués tels que Array/Map/Tuple
