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

# paramètres de session allow_*

> Paramètres de session ClickHouse du groupe généré allow_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Type</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Par défaut</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modifiable sans redémarrage
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

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/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/docs/beta-and-experimental-features#experimental-features">En savoir plus.</a></u>
        </div>;
};

Ces paramètres sont disponibles dans [system.settings](/docs/fr/reference/system-tables/settings) et sont générés automatiquement à partir du [source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="allow_aggregate_partitions_independently">
  ## allow\_aggregate\_partitions\_independently
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1"},{"label": "Active par défaut l’agrégation indépendante par partition lorsque la clé de partitionnement est adaptée à la clé GROUP BY. Les heuristiques d’exécution existantes dans `ReadFromMergeTree::requestOutputEachPartitionThroughSeparatePortForAggregation` ignorent déjà l’optimisation lorsque l’organisation des partitions est défavorable (trop peu de partitions, trop de partitions ou des tailles de partition fortement déséquilibrées), de sorte que l’activation de ce paramètre est sûre dans les cas où il serait sinon sans effet."}]}]} />

Active l’agrégation indépendante des partitions sur des threads séparés lorsque la clé de partitionnement est adaptée à la clé GROUP BY. Cela est utile lorsque le nombre de partitions est proche du nombre de cœurs et que les partitions ont à peu près la même taille. Les heuristiques de `ReadFromMergeTree` désactivent automatiquement l’optimisation pour les organisations défavorables (trop peu de partitions, trop de partitions ou des tailles de partition fortement déséquilibrées) ; consultez `force_aggregate_partitions_independently` pour contourner ces vérifications.

<div id="allow_archive_path_syntax">
  ## allow\_archive\_path\_syntax
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "1"},{"label": "Ajout d'un nouveau paramètre permettant de désactiver la syntaxe de chemin d'archive."}]}, {"id": "row-2","items": [{"label": "24.5"},{"label": "1"},{"label": "Ajout d'un nouveau paramètre permettant de désactiver la syntaxe de chemin d'archive."}]}]} />

Les moteurs File/S3 et la fonction de table analyseront les chemins contenant '::' comme `<archive> :: <file>` si l'archive a l'extension appropriée.

<div id="allow_asynchronous_read_from_io_pool_for_merge_tree">
  ## allow\_asynchronous\_read\_from\_io\_pool\_for\_merge\_tree
</div>

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

Utilise le pool d’E/S d’arrière-plan pour lire les tables MergeTree. Ce paramètre peut améliorer les performances des requêtes limitées par les E/S.

<div id="allow_calculating_subcolumns_sizes_for_merge_tree_reading">
  ## allow\_calculating\_subcolumns\_sizes\_for\_merge\_tree\_reading
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "Autoriser le calcul de la taille des sous-colonnes lors de la lecture de MergeTree afin d’améliorer le découpage des tâches de lecture"}]}]} />

Lorsqu’il est activé, ClickHouse calcule la taille des fichiers nécessaires à la lecture de chaque sous-colonne afin de mieux dimensionner les tâches et les blocs.

<div id="allow_changing_replica_until_first_data_packet">
  ## allow\_changing\_replica\_until\_first\_data\_packet
</div>

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

Si ce paramètre est activé, dans les requêtes hedged, nous pouvons établir une nouvelle connexion jusqu'à la réception du premier paquet de données, même si un certain progrès a déjà été réalisé
(mais que la progression n'a pas été mise à jour pendant le délai d'expiration `receive_data_timeout`) ; sinon, nous désactivons le changement de réplique dès qu'un premier progrès a été réalisé.

<div id="allow_create_index_without_type">
  ## allow\_create\_index\_without\_type
</div>

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

Autorise les requêtes CREATE INDEX sans TYPE. La requête est alors ignorée. Prévu pour les tests de compatibilité SQL.

<div id="allow_custom_error_code_in_throwif">
  ## allow\_custom\_error\_code\_in\_throwif
</div>

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

Active l’utilisation d’un code d’erreur personnalisé dans la fonction throwIf(). Si true, les exceptions levées peuvent avoir des codes d’erreur inattendus.

<div id="allow_ddl">
  ## allow\_ddl
</div>

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

S'il est défini sur true, l'utilisateur est autorisé à exécuter des requêtes DDL.

<div id="allow_distributed_ddl">
  ## allow\_distributed\_ddl
</div>

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

Si ce paramètre est défini sur true, l'utilisateur est autorisé à exécuter des requêtes DDL distribuées.

<div id="allow_drop_detached">
  ## allow\_drop\_detached
</div>

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

Autorise les requêtes ALTER TABLE ... DROP DETACHED PART\[ITION] ...

<div id="allow_dynamic_type_in_join_keys">
  ## allow\_dynamic\_type\_in\_join\_keys
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": "0"},{"label": "Interdire par défaut l'utilisation du type Dynamic dans les clés de JOIN"}]}]} />

Autorise l'utilisation du type Dynamic dans les clés de JOIN. Ajouté pour des raisons de compatibilité. Il n'est pas recommandé d'utiliser le type Dynamic dans les clés de JOIN, car les comparaisons avec d'autres types peuvent produire des résultats inattendus.

<div id="allow_execute_multiif_columnar">
  ## allow\_execute\_multiif\_columnar
</div>

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

Autorise l’exécution de la fonction multiIf en mode colonnaire

<div id="allow_fuzz_query_functions">
  ## allow\_fuzz\_query\_functions
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "Nouveau paramètre permettant d'activer la fonction fuzzQuery."}]}]} />

Active la fonction `fuzzQuery`, qui applique des mutations aléatoires de l'AST à une chaîne de requête.

<div id="allow_general_join_planning">
  ## allow\_general\_join\_planning
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Autorise un algorithme de planification des jointures plus générique lorsque l’algorithme de hash join est activé."}]}]} />

Autorise un algorithme de planification des jointures plus générique, capable de gérer des conditions plus complexes, mais qui fonctionne uniquement avec le hash join. Si le hash join n’est pas activé, l’algorithme habituel de planification des jointures est utilisé, quelle que soit la valeur de ce paramètre.

<div id="allow_get_client_http_header">
  ## allow\_get\_client\_http\_header
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "Ajout d'une nouvelle fonction."}]}]} />

Permet d'utiliser la fonction `getClientHTTPHeader`, qui permet d'obtenir la valeur d'un en-tête de la requête HTTP en cours. Elle n'est pas activée par défaut pour des raisons de sécurité, car certains en-têtes, comme `Cookie`, peuvent contenir des informations sensibles. Notez que les en-têtes `X-ClickHouse-*`, `Authentication` et `Authorization` sont toujours restreints et ne peuvent pas être obtenus avec cette fonction.

<div id="allow_hyperscan">
  ## allow\_hyperscan
</div>

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

Autorise les fonctions qui utilisent la bibliothèque Hyperscan. Désactivez-la pour éviter des temps de compilation potentiellement longs et une consommation excessive de ressources.

<div id="allow_iceberg_remove_orphan_files">
  ## allow\_iceberg\_remove\_orphan\_files
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "Nouveau paramètre permettant d’autoriser la suppression des fichiers orphelins Iceberg"}]}]} />

Permet d’utiliser `ALTER TABLE ... EXECUTE remove_orphan_files()` pour les tables Iceberg.

<div id="allow_insert_into_iceberg">
  ## allow\_insert\_into\_iceberg
</div>

<BetaBadge />

**Alias** : `allow_experimental_insert_into_iceberg`

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "L’insertion dans Iceberg est passée en bêta"}]}, {"id": "row-2","items": [{"label": "25.7"},{"label": "0"},{"label": "Nouveau paramètre."}]}]} />

Permet d’exécuter des requêtes `insert` dans Iceberg.

<div id="allow_introspection_functions">
  ## allow\_introspection\_functions
</div>

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

Active ou désactive les [fonctions d'introspection](/docs/fr/reference/functions/regular-functions/introspection) pour le profilage des requêtes.

Valeurs possibles :

* 1 — Fonctions d'introspection activées.
* 0 — Fonctions d'introspection désactivées.

**Voir aussi**

* [Profileur de requêtes par échantillonnage](/docs/fr/concepts/features/performance/troubleshoot/sampling-query-profiler)
* Table système [trace\_log](/docs/fr/reference/system-tables/trace_log)

<div id="allow_key_condition_coalesce_rewrite">
  ## allow\_key\_condition\_coalesce\_rewrite
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1"},{"label": "Nouveau paramètre permettant de réécrire, avant l’analyse des index, les prédicats de la forme `coalesce(a_1, ..., a_N) <op> const` (ou, de manière équivalente, `ifNull`, ou avec la constante à gauche) en une disjonction, afin de pouvoir utiliser la clé primaire par colonne et les skip indexes sur chaque `a_i`. Les formes partiellement constantes telles que `coalesce(a, 42, b)` et `coalesce(a, b, 42)` sont également prises en charge."}]}]} />

Permet à la clé primaire MergeTree et aux skip indexes d’exclure des granules pour les prédicats `WHERE`/`PREWHERE` qui utilisent `coalesce` ou `ifNull`. Sans ce paramètre, ces prédicats sont opaques pour l’analyse des index et ne permettent pas d’exclure de granules, de sorte que des granules qui ne peuvent pas correspondre sont quand même lus. Cela n’affecte que les granules lus ; le résultat de la requête reste inchangé, car les lignes sont toujours filtrées par le prédicat d’origine.

Deux formes de prédicats sont réécrites avant l’analyse des index :

* Une comparaison avec `coalesce`/`ifNull`, telle que `coalesce(a, b) = 5`, devient une disjonction afin qu’un index sur chaque argument puisse exclure des granules : `a = 5 OR (a IS NULL AND b = 5)`, avec extension à davantage d’arguments.
* Un `coalesce`/`ifNull` avec une constante par défaut falsy (zéro) utilisée directement comme condition, telle que `ifNull(a = 5, 0)` ou `coalesce(a = 5, 0)`, est ramené à son prédicat interne `a = 5`. De tels wrappers ramènent le résultat ternaire du prédicat interne à un booléen déterminé (en faisant correspondre `NULL` à `false`).

<div id="allow_limit_by_partitions_independently">
  ## allow\_limit\_by\_partitions\_independently
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1"},{"label": "Nouveau paramètre permettant d’activer l’évaluation indépendante de `LIMIT BY` pour chaque partition lorsque l’expression de partition est une fonction déterministe des colonnes de `LIMIT BY`."}]}]} />

Active l’évaluation indépendante de `LIMIT BY` pour chaque partition sur des threads séparés lorsque l’expression de partition est une fonction déterministe des colonnes de `LIMIT BY`.

<div id="allow_materialized_view_with_bad_select">
  ## allow\_materialized\_view\_with\_bad\_select
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "0"},{"label": "Ne pas autoriser la création de MV faisant référence à des colonnes ou tables inexistantes"}]}, {"id": "row-2","items": [{"label": "24.9"},{"label": "1"},{"label": "Prise en charge (sans activation par défaut pour l'instant) d'une validation plus stricte dans CREATE MATERIALIZED VIEW"}]}]} />

Autorise CREATE MATERIALIZED VIEW avec une requête SELECT faisant référence à des tables ou colonnes inexistantes. Elle doit toutefois rester syntaxiquement valide. Ne s'applique pas aux MV actualisables. Ne s'applique pas non plus si le schéma de la MV doit être inféré à partir de la requête SELECT (c.-à-d. si le CREATE ne comporte ni liste de colonnes ni table TO). Peut être utilisé pour créer une MV avant sa table source.

<div id="allow_minmax_index_for_json">
  ## allow\_minmax\_index\_for\_json
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "Interdit par défaut la création d’un index de saut minmax sur les colonnes JSON, car la sérialisation de l’index ne peut pas prendre en charge des valeurs de Field hétérogènes"}]}]} />

Autorise la création d’index de saut minmax sur les colonnes JSON (Object). Désactivé par défaut, car le mécanisme de sérialisation de l’index minmax ne peut pas prendre en charge les valeurs de Field hétérogènes que peuvent contenir les colonnes JSON.

<div id="allow_named_collection_override_by_default">
  ## allow\_named\_collection\_override\_by\_default
</div>

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

Autorise par défaut la surcharge des champs des collections nommées.

<div id="allow_non_metadata_alters">
  ## allow\_non\_metadata\_alters
</div>

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

Permet d’exécuter des opérations ALTER qui affectent non seulement les métadonnées des tables, mais aussi les données sur le disque

<div id="allow_nonconst_timezone_arguments">
  ## allow\_nonconst\_timezone\_arguments
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.4"},{"label": "0"},{"label": "Autoriser des arguments de fuseau horaire non constants dans certaines fonctions liées au temps, comme toTimeZone(), fromUnixTimestamp*() et snowflakeToDateTime*()."}]}]} />

Autorise des arguments de fuseau horaire non constants dans certaines fonctions liées au temps, comme toTimeZone(), fromUnixTimestamp\*() et snowflakeIDToDateTime\*().
Ce paramètre existe uniquement pour des raisons de compatibilité. Dans ClickHouse, le fuseau horaire est une propriété du type de données, ou plus précisément de la colonne.
L'activation de ce paramètre donne à tort l'impression que différentes valeurs d'une même colonne peuvent avoir des fuseaux horaires différents.
Par conséquent, veuillez ne pas activer ce paramètre.

<div id="allow_nullable_tuple_in_extracted_subcolumns">
  ## allow\_nullable\_tuple\_in\_extracted\_subcolumns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "Nouveau paramètre qui détermine si les sous-colonnes extraites de type Tuple peuvent être Nullable."}]}]} />

Détermine si les sous-colonnes extraites de type `Tuple(...)` peuvent être typées comme `Nullable(Tuple(...))`.

* `false` : renvoie `Tuple(...)` et utilise les valeurs de tuple par défaut pour les lignes où la sous-colonne est absente.
* `true` : renvoie `Nullable(Tuple(...))` et utilise `NULL` pour les lignes où la sous-colonne est absente.

Ce paramètre contrôle uniquement le comportement des sous-colonnes extraites.
Il ne détermine pas si des colonnes `Nullable(Tuple(...))` peuvent être créées dans des tables ; cela est contrôlé par `enable_nullable_tuple_type`.

ClickHouse utilise la valeur de ce paramètre chargée au démarrage du serveur.
Les modifications effectuées avec `SET` ou la clause `SETTINGS` au niveau de la requête ne changent pas le comportement des sous-colonnes extraites.
Pour modifier le comportement des sous-colonnes extraites, mettez à jour `allow_nullable_tuple_in_extracted_subcolumns` dans la configuration du profil de démarrage (par exemple, users.xml) et redémarrez le serveur.

<div id="allow_rank_dense_rank_arguments">
  ## allow\_rank\_dense\_rank\_arguments
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "Nouveau paramètre. Avant la version 26.5, les fonctions de fenêtre `RANK` et `DENSE_RANK` ignoraient silencieusement tous les arguments fournis (équivalent à `allow_rank_dense_rank_arguments = 1`). À partir de la version 26.5, elles rejettent les arguments par défaut avec `NUMBER_OF_ARGUMENTS_DOESNT_MATCH` car, selon la norme SQL, ces fonctions ne prennent aucun argument. Définissez ce paramètre sur `1` pour restaurer le comportement legacy."}]}]} />

Autorise le passage d'arguments aux fonctions de fenêtre `RANK` et `DENSE_RANK` pour assurer la rétrocompatibilité.

Selon la norme SQL, `RANK` et `DENSE_RANK` ne prennent aucun argument — elles classent les lignes uniquement en fonction de la fenêtre
`OVER (ORDER BY ...)`. Dans les versions de ClickHouse antérieures à la 26.5, des requêtes telles que
`RANK(x) OVER (...)` acceptaient et ignoraient silencieusement l'argument, ce qui prêtait à confusion
(l'argument visible laissait penser qu'il influençait le classement, mais ce n'était pas le cas).

Lorsque ce paramètre est `false` (valeur par défaut), `RANK` et `DENSE_RANK` rejettent tout argument et
renvoient `NUMBER_OF_ARGUMENTS_DOESNT_MATCH`. Lorsqu'il est défini sur `true`, le comportement permissif legacy est
rétabli — les arguments sont silencieusement ignorés, comme avant la version 26.5.

<div id="allow_reorder_prewhere_conditions">
  ## allow\_reorder\_prewhere\_conditions
</div>

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

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

Lors du déplacement des conditions de WHERE vers PREWHERE, autoriser leur réordonnancement afin d’optimiser le filtrage

<div id="allow_replace_partition_from_empty_source">
  ## allow\_replace\_partition\_from\_empty\_source
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "Nouveau contrôle de sécurité : `ALTER TABLE ... REPLACE PARTITION ... FROM ...` lève désormais une exception lorsque la table source n’a aucune part dans la partition demandée (corrige la perte silencieuse de données dans [#23727](https:\/\/github.com\/ClickHouse\/ClickHouse\/issues\/23727)). Le comportement précédent, qui supprimait silencieusement la partition de destination, est conservé en définissant `allow_replace_partition_from_empty_source = 1`."}]}]} />

Autorise `ALTER TABLE ... REPLACE PARTITION ... FROM ...` à supprimer silencieusement la partition de destination lorsque la source n’a aucune part dans cette partition.

Par défaut, ce n’est pas autorisé : un `REPLACE PARTITION` à partir d’une source qui ne contient aucune donnée dans la partition demandée lève une exception, car dans ce cas l’opération revient en pratique à un `DROP PARTITION` silencieux sur la destination (les données de destination sont supprimées et rien ne les remplace), ce qui est une cause fréquente de perte accidentelle de données (voir [#23727](https://github.com/ClickHouse/ClickHouse/issues/23727)).

Activez ce paramètre pour rétablir le comportement précédent, par exemple si vous utilisez volontairement une partition source vide pour effacer les données de destination. Pour une suppression inconditionnelle, préférez `ALTER TABLE ... DROP PARTITION ...`.

<div id="allow_settings_after_format_in_insert">
  ## allow\_settings\_after\_format\_in\_insert
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.4"},{"label": "0"},{"label": "Ne pas autoriser SETTINGS après FORMAT dans les requêtes INSERT, car ClickHouse interprète SETTINGS comme des valeurs, ce qui prête à confusion"}]}]} />

Détermine si `SETTINGS` après `FORMAT` dans les requêtes `INSERT` est autorisé ou non. Il n'est pas recommandé d'utiliser ce paramètre, car une partie de `SETTINGS` peut être interprétée comme des valeurs.

Exemple :

```sql theme={null}
INSERT INTO FUNCTION null('foo String') SETTINGS max_threads=1 VALUES ('bar');
```

Mais la requête suivante ne fonctionne qu'avec `allow_settings_after_format_in_insert` :

```sql theme={null}
SET allow_settings_after_format_in_insert=1;
INSERT INTO FUNCTION null('foo String') VALUES ('bar') SETTINGS max_threads=1;
```

Valeurs possibles :

* 0 — Interdire.
* 1 — Autoriser.

<Note>
  Utilisez ce paramètre uniquement à des fins de rétrocompatibilité si vos cas d’usage dépendent de l’ancienne syntaxe.
</Note>

<div id="allow_simdjson">
  ## allow\_simdjson
</div>

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

Permet d'utiliser la bibliothèque simdjson dans les fonctions 'JSON\*' si les instructions AVX2 sont disponibles. Si cette option est désactivée, rapidjson sera utilisé.

<div id="allow_special_serialization_kinds_in_output_formats">
  ## allow\_special\_serialization\_kinds\_in\_output\_formats
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "Activer la sortie directe de représentations spéciales de colonnes comme Sparse\/Replicated dans certains formats de sortie"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "0"},{"label": "Ajouter un paramètre pour autoriser la sortie de représentations spéciales de colonnes comme Sparse\/Replicated sans les convertir en colonnes complètes"}]}]} />

Permet de produire des colonnes avec des types de sérialisation spéciaux comme Sparse et Replicated sans les convertir en représentation complète de colonne.
Cela permet d’éviter des copies de données inutiles lors de la mise en forme.

<div id="allow_unrestricted_reads_from_keeper">
  ## allow\_unrestricted\_reads\_from\_keeper
</div>

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

Autorise les lectures sans restriction (sans condition sur le path) depuis la table system.zookeeper ; cela peut être pratique, mais n'est pas sans risque pour ZooKeeper
