allow_aggregate_partitions_independently
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.
allow_archive_path_syntax
<archive> :: <file> si l’archive a l’extension appropriée.
allow_asynchronous_read_from_io_pool_for_merge_tree
allow_calculating_subcolumns_sizes_for_merge_tree_reading
allow_changing_replica_until_first_data_packet
receive_data_timeout) ; sinon, nous désactivons le changement de réplique dès qu’un premier progrès a été réalisé.
allow_create_index_without_type
allow_custom_error_code_in_throwif
allow_ddl
allow_distributed_ddl
allow_drop_detached
allow_dynamic_type_in_join_keys
allow_execute_multiif_columnar
allow_fuzz_query_functions
fuzzQuery, qui applique des mutations aléatoires de l’AST à une chaîne de requête.
allow_general_join_planning
allow_get_client_http_header
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.
allow_hyperscan
allow_iceberg_remove_orphan_files
ALTER TABLE ... EXECUTE remove_orphan_files() pour les tables Iceberg.
allow_insert_into_iceberg
allow_experimental_insert_into_iceberg
Permet d’exécuter des requêtes insert dans Iceberg.
allow_introspection_functions
- 1 — Fonctions d’introspection activées.
- 0 — Fonctions d’introspection désactivées.
- Profileur de requêtes par échantillonnage
- Table système trace_log
allow_key_condition_coalesce_rewrite
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 quecoalesce(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/ifNullavec une constante par défaut falsy (zéro) utilisée directement comme condition, telle queifNull(a = 5, 0)oucoalesce(a = 5, 0), est ramené à son prédicat internea = 5. De tels wrappers ramènent le résultat ternaire du prédicat interne à un booléen déterminé (en faisant correspondreNULLàfalse).
allow_limit_by_partitions_independently
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.
allow_materialized_view_with_bad_select
allow_minmax_index_for_json
allow_named_collection_override_by_default
allow_non_metadata_alters
allow_nonconst_timezone_arguments
allow_nullable_tuple_in_extracted_subcolumns
Tuple(...) peuvent être typées comme Nullable(Tuple(...)).
false: renvoieTuple(...)et utilise les valeurs de tuple par défaut pour les lignes où la sous-colonne est absente.true: renvoieNullable(Tuple(...))et utiliseNULLpour les lignes où la sous-colonne est absente.
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.
allow_rank_dense_rank_arguments
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.
allow_reorder_prewhere_conditions
allow_replace_partition_from_empty_source
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).
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 ....
allow_settings_after_format_in_insert
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 :
allow_settings_after_format_in_insert :
- 0 — Interdire.
- 1 — Autoriser.
Utilisez ce paramètre uniquement à des fins de rétrocompatibilité si vos cas d’usage dépendent de l’ancienne syntaxe.