Skip to main content
Ces paramètres configurent le serveur ClickHouse et sont générés automatiquement à partir du code source de ClickHouse.

abort_on_logical_error

Fait planter le serveur en cas d’exception LOGICAL_ERROR. Réservé aux experts.

allowed_disks_for_table_engines

Liste des disques pouvant être utilisés avec Iceberg

auth_use_forwarded_address

Utiliser l’adresse d’origine pour l’authentification des clients connectés via un proxy.
Ce paramètre doit être utilisé avec une extrême prudence, car les adresses transmises peuvent être facilement usurpées : les serveurs qui acceptent ce type d’authentification ne doivent pas être accessibles directement, mais uniquement via un proxy de confiance.

bcrypt_workfactor

Facteur de travail pour le type d’authentification bcrypt_password, qui utilise l’algorithme Bcrypt. Le facteur de travail détermine la quantité de calculs et le temps nécessaires pour calculer le hachage et vérifier le mot de passe.
Pour les applications qui nécessitent des authentifications fréquentes, envisagez d’autres méthodes d’authentification en raison du coût de calcul de bcrypt avec des facteurs de coût élevés.

blob_storage_log

Paramètres de la table système blob_storage_log. Les paramètres suivants peuvent être configurés via des sous-balises : De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
Exemple :

builtin_dictionaries_reload_interval

Intervalle, en secondes, avant le rechargement des dictionnaires intégrés. ClickHouse recharge les dictionnaires intégrés toutes les x secondes. Cela permet de modifier les dictionnaires “à la volée” sans redémarrer le serveur. Exemple

cache_size_to_ram_max_ratio

Définit le ratio maximal de la taille du cache par rapport à la RAM. Permet de réduire la taille du cache sur les systèmes disposant de peu de RAM.

cannot_allocate_thread_fault_injection_probability

À des fins de test.

cgroups_memory_usage_observer_wait_time

Intervalle, en secondes, pendant lequel la consommation mémoire maximale autorisée du serveur est ajustée en fonction du seuil correspondant dans les cgroups. Pour désactiver l’observateur de cgroups, définissez cette valeur sur 0.

compression

Paramètres de compression des données pour les tables du moteur MergeTree.
Nous vous recommandons de ne pas modifier ce paramètre si vous venez de commencer à utiliser ClickHouse.
Modèle de configuration:
Champs de <case> :
  • min_part_size – Taille minimale d’une partie de données.
  • min_part_size_ratio – Ratio entre la taille de la partie de données et la taille de la table.
  • method – Méthode de compression. Valeurs acceptables : lz4, lz4hc, zstd,deflate_qpl.
  • level – Niveau de compression. Voir Codecs.
Vous pouvez configurer plusieurs sections <case>.
Actions lorsque les conditions sont remplies :
  • Si une partie de données correspond à un ensemble de conditions, ClickHouse utilise la méthode de compression indiquée.
  • Si une partie de données correspond à plusieurs ensembles de conditions, ClickHouse utilise le premier ensemble correspondant.
Si aucune condition n’est remplie pour une partie de données, ClickHouse utilise la compression lz4.
Exemple

config_reload_interval_ms

Fréquence à laquelle ClickHouse recharge la configuration et vérifie la présence de nouvelles modifications

config-file

Indique le fichier de configuration du serveur.

core_dump

Configure la limite souple de la taille du fichier core dump.
La limite stricte se configure via les outils système
Exemple

crash_log

Paramètres de fonctionnement de la table système crash_log. Les paramètres suivants peuvent être configurés à l’aide de sous-balises : Le fichier de configuration du serveur config.xml contient la section de paramètres suivante :

database_atomic_delay_before_drop_table_sec

Le délai pendant lequel une table supprimée peut être restaurée à l’aide de l’instruction UNDROP. Si DROP TABLE a été exécuté avec le modificateur SYNC, ce paramètre est ignoré. La valeur par défaut de ce paramètre est de 480 (8 minutes).

dead_letter_queue

Paramètres de la table système ‘dead_letter_queue’. Les paramètres suivants peuvent être configurés via des sous-balises : De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
Les paramètres par défaut sont :

dictionary_background_reconnect_interval

Intervalle, en millisecondes, entre les tentatives de reconnexion des dictionnaires MySQL et Postgres en échec pour lesquels background_reconnect est activé.

disk_transaction_wait_for_blob_removal

Valeur par défaut du paramètre wait_for_blob_removal pour chaque disque. Lorsqu’il est activé, le serveur attend que la suppression du blob en arrière-plan soit terminée avant de confirmer l’opération.

display_secrets_in_show_and_select

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. Pour voir les secrets, l’utilisateur doit également avoir activé le paramètre de format format_display_secrets_in_show_and_select et disposer du privilège displaySecretsInShowAndSelect. Valeurs possibles :
  • 0 — Désactivé.
  • 1 — Activé.

dns_max_consecutive_failures

Interrompt les tentatives ultérieures de mise à jour du cache DNS d’un nom d’hôte après ce nombre d’échecs consécutifs. Les informations restent toutefois dans le cache DNS. Zéro signifie sans limite. Voir aussi

dynamic_user_defined_executable_functions_path

Le répertoire utilisé pour stocker les fichiers de configuration des UDF exécutables créées dynamiquement par des drivers (voir CREATE FUNCTION ... ENGINE = DriverName(...)). Au redémarrage du serveur, le répertoire est parcouru pour rechercher les fichiers de configuration, et les UDF correspondantes sont chargées sans réinvocation du driver. Exemple

chiffrement

Configure une commande permettant d’obtenir une clé à utiliser avec les codecs de chiffrement. La ou les clés doivent être stockées dans des variables d’environnement ou définies dans le fichier de configuration. Les clés peuvent être hexadécimales ou être des chaînes de 16 octets de long. Exemple Chargement depuis le fichier de configuration :
Il n’est pas recommandé de stocker des clés dans le fichier de configuration. Ce n’est pas sûr. Vous pouvez placer les clés dans un fichier de configuration distinct sur un disque sécurisé, puis créer un lien symbolique vers ce fichier de configuration dans le dossier config.d/.
Chargement depuis la configuration, lorsque la clé est au format hexadécimal :
Chargement de la clé depuis la variable d’environnement :
Ici, current_key_id définit la clé courante pour le chiffrement, et toutes les clés spécifiées peuvent être utilisées pour le déchiffrement. Chacune de ces méthodes peut être utilisée avec plusieurs clés :
Ici, current_key_id indique la clé actuellement utilisée pour le chiffrement. Les utilisateurs peuvent également ajouter un nonce, qui doit comporter 12 octets (par défaut, les processus de chiffrement et de déchiffrement utilisent un nonce composé d’octets nuls) :
Ou il peut être défini en hexadécimal :
Tout ce qui précède peut s’appliquer à aes_256_gcm_siv (mais la clé doit faire 32 octets).

enforce_keeper_component_tracking

Si cette option est activée, chaque requête ZooKeeper doit avoir un nom de composant défini via Coordination::setCurrentComponent. Déclenche une exception LOGICAL_ERROR si le nom du composant est manquant.

error_log

Il est désactivé par défaut. Activation Pour activer manuellement la collecte de l’historique des erreurs dans system.error_log, créez /etc/clickhouse-server/config.d/error_log.xml avec le contenu suivant :
Désactivation Pour désactiver le paramètre error_log, créez le fichier suivant /etc/clickhouse-server/config.d/disable_error_log.xml avec le contenu ci-dessous :
Les paramètres suivants peuvent être configurés via des sous-balises : De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :

filesystem_caches_path

Ce paramètre définit le chemin du cache. Exemple

google_protos_path

Définit un répertoire contenant des fichiers .proto pour les types Protobuf. Exemple

handshake_timeout_milliseconds

Délai d’expiration en millisecondes, mesuré en temps réel, pour l’ensemble de la phase de handshake TCP (Hello + Addendum). Limite la durée pendant laquelle une connexion non authentifiée peut occuper un thread. Définissez-la sur 0 pour la désactiver.

hdfs.libhdfs3_conf

Dirige libhdfs3 vers l’emplacement correct de sa configuration.

hsts_max_age

Durée d’expiration de HSTS, en secondes.
Une valeur de 0 signifie que ClickHouse désactive HSTS. Si vous définissez une valeur positive, HSTS sera activé et max-age prendra cette valeur.
Exemple

iceberg_background_schedule_pool_size

Taille du pool de threads utilisé pour récupérer de manière asynchrone les métadonnées les plus récentes depuis un catalogue Iceberg distant ; le pool est partagé par toutes les tables actives.

ignore_empty_sql_security_in_create_view_query

Si la valeur est true, ClickHouse n’écrit pas les valeurs par défaut lorsqu’une instruction SQL security est vide dans les requêtes CREATE VIEW.
Ce paramètre n’est nécessaire que durant la période de migration et deviendra obsolète à partir de la version 24.4

include_from

Chemin vers le fichier contenant les substitutions. Les formats XML et YAML sont pris en charge. Pour plus d’informations, consultez la section Fichiers de configuration. Exemple

insert_deduplication_version

Garde-fou de migration obsolète. Cette version ne prend en charge que le hash unifié de déduplication des insertions (new_unified_hash) ; le serveur refuse de démarrer si ce paramètre est présent avec une autre valeur (comme old_separate_hashes ou compatible_double_hashes). Terminez la migration de déduplication sur la version précédente avant la mise à niveau en exécutant compatible_double_hashes (qui écrit à la fois les hash legacy et unifiés). Pour les tables répliquées, exécutez-le pendant au moins replicated_deduplication_window_seconds (une heure par défaut) ; les fenêtres par défaut conservent les hash unifiés de toutes les insertions pendant cette période, ce qui est considéré comme suffisant pour couvrir une boucle de nouvelle tentative d’insert. Pour les tables non répliquées avec non_replicated_deduplication_window > 0, la fenêtre est basée sur le nombre d’insertions plutôt que sur le temps ; exécutez donc compatible_double_hashes pendant au moins ce nombre d’insertions avant la mise à niveau.

io_thread_pool_queue_size

Le nombre maximal de jobs pouvant être planifiés dans l’IO Thread pool.
Une valeur de 0 signifie qu’il n’y a pas de limite.

keep_alive_timeout

Le nombre de secondes pendant lesquelles ClickHouse attend des requêtes entrantes via le protocole HTTP avant de fermer la connexion. Exemple

ldap_servers

Listez ici les serveurs LDAP avec leurs paramètres de connexion afin de :
  • les utiliser comme authentificateurs pour des utilisateurs locaux dédiés, pour lesquels un mécanisme d’authentication ldap est spécifié à la place de password
  • les utiliser comme répertoires d’utilisateurs distants.
Les paramètres suivants peuvent être configurés à l’aide de sous-balises : Le paramètre user_dn_detection peut être configuré avec des sous-balises : Exemple :
Exemple (cas typique d’Active Directory avec détection du DN utilisateur configurée en vue d’un mappage de rôles ultérieur) :

logger

L’emplacement et le format des messages de log. Clés : Spécificateurs de format de log Les noms de fichiers dans les chemins log et errorLog prennent en charge les spécificateurs de format ci-dessous pour le nom de fichier résultant (la partie répertoire ne les prend pas en charge). La colonne « Exemple » montre la sortie à 2023-07-06 18:32:07. Exemple
Pour n’afficher les messages de log que dans la console :
Surcharges par niveau Le niveau de journalisation de chaque logger peut être redéfini. Par exemple, pour désactiver tous les messages des loggers « Backup » et « RBAC ».
syslog Pour envoyer également les messages de log à syslog :
Clés pour <syslog> : Formats de log Vous pouvez spécifier le format de log à afficher dans les logs de la console. Actuellement, seul JSON est pris en charge. Exemple Voici un exemple de log JSON produit en sortie :
Pour activer la prise en charge de la journalisation au format JSON, utilisez l’extrait suivant :
Renommer les clés des logs JSON Les noms des clés peuvent être modifiés en changeant les valeurs des balises à l’intérieur de la balise <names>. Par exemple, pour remplacer DATE_TIME par MY_DATE_TIME, vous pouvez utiliser <date_time>MY_DATE_TIME</date_time>. Omettre des clés des logs JSON Les propriétés des logs peuvent être omises en commentant la propriété correspondante. Par exemple, si vous ne souhaitez pas que votre log affiche query_id, vous pouvez commenter la balise <query_id>.

logger.count

Politique de rotation : nombre maximal de fichiers de log ClickHouse historiques conservés.

logger.errorlog

Le chemin du fichier de log d’erreurs.

logger.formatting.type

Format des logs pour la sortie de la console. Actuellement, seul <json> est pris en charge.

logger.level

Niveau de journalisation. Valeurs acceptées : <none> (désactive la journalisation), <fatal>, <critical>, <error>, <warning>, <notice>, <information>, <debug>, <trace>, <test>.

logger.log

Chemin d’accès au fichier de log.

logger.rotation

Politique de rotation : contrôle quand les fichiers de log sont soumis à une rotation. La rotation peut être basée sur la taille, le temps ou une combinaison des deux. Exemples : 100M, daily, 100M,daily. Une fois que le fichier de log dépasse la taille spécifiée ou que l’intervalle de temps indiqué est atteint, il est renommé puis archivé, et un nouveau fichier de log est créé.

logger.shutdown_level

Le niveau d’arrêt sert à définir le niveau du logger racine lors de l’arrêt du serveur.

logger.size

Politique de rotation : taille maximale des fichiers de log, en octets. Dès que la taille d’un fichier de log dépasse ce seuil, il est renommé et archivé, puis un nouveau fichier de log est créé.

logger.startup_level

Le niveau de démarrage permet de définir le niveau du logger racine lors du démarrage du serveur. Une fois le serveur démarré, le niveau de journalisation revient au paramètre <level>.

logger.stream_compress

Compresse les messages de log avec LZ4. Définissez cette valeur sur <1> ou <true> pour l’activer.

logger.syslog_level

Niveau de journalisation pour la consignation dans syslog.

logger.use_syslog

Transmet également les logs vers syslog.

macros

Substitutions de paramètres pour les tables répliquées. Peut être omis si vous n’utilisez pas de tables répliquées. Pour plus d’informations, voir la section Création de tables répliquées. Exemple

message_queue_disable_insertion

Désactive l’insertion depuis les moteurs de file d’attente de messages (Kafka, RabbitMQ, NATS) dans les vues matérialisées attachées

metric_log

Il est désactivé par défaut. Activation Pour activer manuellement la collecte de l’historique des metrics system.metric_log, créez /etc/clickhouse-server/config.d/metric_log.xml avec le contenu suivant :
Désactivation Pour désactiver le paramètre metric_log, créez le fichier suivant /etc/clickhouse-server/config.d/disable_metric_log.xml avec le contenu ci-dessous :
Les paramètres suivants peuvent être configurés via des sous-balises : De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :

mmap_cache_size

Ce paramètre permet d’éviter des appels open/close fréquents (très coûteux en raison des défauts de page qu’ils entraînent) et de réutiliser les mappages entre plusieurs threads et requêtes. La valeur du paramètre correspond au nombre de régions mappées (généralement égal au nombre de fichiers mappés). La quantité de données dans les fichiers mappés peut être surveillée dans les tables système suivantes à l’aide des métriques suivantes :
La quantité de données dans les fichiers mappés ne consomme pas directement de mémoire et n’est pas prise en compte dans l’utilisation mémoire des requêtes ou du serveur, car cette mémoire peut être libérée de façon similaire au cache de pages du système d’exploitation. Le cache est supprimé (les fichiers sont fermés) automatiquement lors de la suppression des anciennes parties dans les tables de la famille MergeTree, et il peut également être supprimé manuellement avec la requête SYSTEM DROP MMAP CACHE.Ce paramètre peut être modifié à l’exécution et prendra effet immédiatement.

mutation_workload

Permet de réguler la manière dont les ressources sont utilisées et partagées entre les mutations et les autres workloads. La valeur spécifiée est utilisée comme valeur du paramètre workload pour toutes les mutations en arrière-plan. Elle peut être surchargée par un paramètre MergeTree. Voir aussi

oom_score

Sur les systèmes Linux, ce paramètre permet de contrôler le comportement de l’OOM killer.

openSSL

Configuration SSL client/serveur. La prise en charge de SSL est assurée par la bibliothèque libpoco. Les options de configuration disponibles sont décrites dans SSLManager.h. Les valeurs par défaut se trouvent dans SSLManager.cpp. Clés des paramètres client/serveur : Exemple de paramètres :

openSSL.client.caConfig

Chemin vers le fichier ou le répertoire contenant les certificats d’AC de confiance. S’il pointe vers un fichier, celui-ci doit être au format PEM et peut contenir plusieurs certificats d’AC. S’il pointe vers un répertoire, celui-ci doit contenir un fichier .pem par certificat d’AC. Les noms de fichier sont recherchés à l’aide de la valeur de hachage du nom du sujet de l’AC. Pour plus de détails, consultez la page de manuel de SSL_CTX_load_verify_locations.

openSSL.client.cacheSessions

Active ou désactive la mise en cache des sessions. Doit être utilisé conjointement avec <sessionIdContext>. Valeurs acceptées : <true>, <false>.

openSSL.client.certificateFile

Chemin du fichier de certificat client/serveur au format PEM. Vous pouvez l’omettre si <privateKeyFile> contient le certificat.

openSSL.client.cipherList

Suites de chiffrement OpenSSL prises en charge.

openSSL.client.disableProtocols

Protocoles dont l’utilisation est interdite.

openSSL.client.extendedVerification

Si cette option est activée, vérifie que le CN ou le SAN du certificat correspond au nom d’hôte du pair distant.

openSSL.client.fips

Active le mode FIPS d’OpenSSL. Pris en charge si la version d’OpenSSL de la bibliothèque prend en charge FIPS.

openSSL.client.invalidCertificateHandler.name

Classe (sous-classe de CertificateHandler) utilisée pour vérifier les certificats invalides. Par exemple : <<invalidCertificateHandler> <name>RejectCertificateHandler</name> </invalidCertificateHandler>>.

openSSL.client.loadDefaultCAFile

Indique si les certificats de CA intégrés d’OpenSSL seront utilisés. ClickHouse suppose que ces certificats de CA intégrés se trouvent dans le fichier </etc/ssl/cert.pem> (ou, selon le cas, dans le répertoire </etc/ssl/certs>) ou dans le fichier (ou le répertoire) spécifié par la variable d’environnement <SSL_CERT_FILE> (ou <SSL_CERT_DIR>).

openSSL.client.preferServerCiphers

Suites de chiffrement du serveur préférées par le client.

openSSL.client.privateKeyFile

Chemin d’accès au fichier contenant la clé privée du certificat PEM. Le fichier peut contenir à la fois une clé et un certificat.

openSSL.client.privateKeyPassphraseHandler.name

Classe (sous-classe de PrivateKeyPassphraseHandler) qui demande la phrase de passe pour accéder à la clé privée. Par exemple : <<privateKeyPassphraseHandler>>, <<name>KeyFileHandler</name>>, <<options><password>test</password></options>>, <</privateKeyPassphraseHandler>>

openSSL.client.verificationDepth

La longueur maximale de la chaîne de vérification. La vérification échoue si la longueur de la chaîne de certificats dépasse la valeur spécifiée.

openSSL.client.verificationMode

Méthode de vérification des certificats du nœud. Les détails figurent dans la description de la classe Context. Valeurs possibles : <none>, <relaxed>, <strict>, <once>.

openSSL.server.caConfig

Chemin vers le fichier ou le répertoire contenant les certificats CA de confiance. S’il s’agit d’un fichier, il doit être au format PEM et peut contenir plusieurs certificats CA. S’il s’agit d’un répertoire, il doit contenir un fichier .pem par certificat CA. Les noms de fichiers sont recherchés à partir de la valeur de hachage du nom du sujet de la CA. Pour plus de détails, consultez la page de manuel de SSL_CTX_load_verify_locations.

openSSL.server.cacheSessions

Active ou désactive la mise en cache des sessions. Doit être utilisé conjointement avec <sessionIdContext>. Valeurs acceptées : <true>, <false>.

openSSL.server.certificateFile

Chemin du fichier de certificat client/serveur au format PEM. Vous pouvez l’omettre si <privateKeyFile> contient le certificat.

openSSL.server.cipherList

Suites de chiffrement OpenSSL prises en charge.

openSSL.server.disableProtocols

Protocoles dont l’utilisation est interdite.

openSSL.server.extendedVerification

Si cette option est activée, vérifie que le CN ou le SAN du certificat correspond au nom d’hôte du pair distant.

openSSL.server.fips

Active le mode FIPS d’OpenSSL. Pris en charge si la version d’OpenSSL de la bibliothèque peut prendre en charge FIPS.

openSSL.server.invalidCertificateHandler.name

Classe (sous-classe de CertificateHandler) utilisée pour vérifier les certificats invalides. Exemple : <<invalidCertificateHandler> <name>RejectCertificateHandler</name> </invalidCertificateHandler>>.

openSSL.server.loadDefaultCAFile

Indique si les certificats CA intégrés d’OpenSSL seront utilisés. ClickHouse suppose que les certificats CA intégrés se trouvent dans le fichier </etc/ssl/cert.pem> (respectivement le répertoire </etc/ssl/certs>) ou dans le fichier (respectivement le répertoire) spécifié par la variable d’environnement <SSL_CERT_FILE> (respectivement <SSL_CERT_DIR>).

openSSL.server.preferServerCiphers

Suites de chiffrement du serveur préférées par le client.

openSSL.server.privateKeyFile

Chemin vers le fichier contenant la clé privée du certificat PEM. Le fichier peut contenir à la fois une clé et un certificat.

openSSL.server.privateKeyPassphraseHandler.name

Classe (sous-classe de PrivateKeyPassphraseHandler) qui demande la phrase de passe permettant d’accéder à la clé privée. Par exemple : <<privateKeyPassphraseHandler>>, <<name>KeyFileHandler</name>>, <<options><password>test</password></options>>, <</privateKeyPassphraseHandler>>

openSSL.server.sessionCacheSize

Nombre maximal de sessions mises en cache par le serveur. Une valeur de 0 signifie un nombre illimité de sessions.

openSSL.server.sessionIdContext

Une suite unique de caractères aléatoires que le serveur ajoute à chaque identifiant généré. La longueur de la chaîne ne doit pas dépasser <SSL_MAX_SSL_SESSION_ID_LENGTH>. Ce paramètre est toujours recommandé, car il permet d’éviter les problèmes, que le serveur mette la session en cache ou que le client ait demandé la mise en cache.

openSSL.server.sessionTimeout

Durée de mise en cache de la session sur le serveur, en heures.

openSSL.server.verificationDepth

Longueur maximale de la chaîne de vérification. La vérification échoue si la longueur de la chaîne de certificats dépasse la valeur définie.

openSSL.server.verificationMode

Méthode utilisée pour vérifier les certificats du nœud. Pour plus de détails, consultez la description de la classe Context. Valeurs possibles : <none>, <relaxed>, <strict>, <once>.

opentelemetry_span_log

Paramètres de la table système opentelemetry_span_log. Les paramètres suivants peuvent être configurés via des sous-balises : De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
Exemple :

part_log

Journalisation des événements associés à MergeTree, par exemple l’ajout ou la fusion de données. Vous pouvez utiliser ce journal pour simuler des algorithmes de fusion et comparer leurs caractéristiques. Vous pouvez visualiser le processus de fusion. Les requêtes sont enregistrées dans la table system.part_log, et non dans un fichier distinct. Vous pouvez configurer le nom de cette table dans le paramètre table (voir ci-dessous). Les paramètres suivants peuvent être configurés via des sous-balises : De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
Exemple

path

Chemin vers le répertoire contenant les données.
Le slash final est obligatoire.
Exemple

per_cpu_untracked_memory_thread_buffer

Quantité de mémoire non suivie, en octets, que chaque thread peut conserver sans utiliser le budget partagé par CPU. Cela amortit le coût de la comptabilisation par CPU pour les petites allocations et correspond à la marge ajoutée au-dessus de max_per_cpu_untracked_memory * number_of_cpus dans le pire des cas. Une valeur de 0 supprime cette marge : chaque allocation met à jour le compteur partagé par CPU (plus précis, mais avec davantage de contention). Linux uniquement.

point_in_polygon_cache_size

Taille maximale, en octets, du cache des polygones prétraités utilisés par la fonction pointInPolygon avec un argument de polygone constant. Les entrées qui dépassent cette limite sont évincées selon l’ordre du moins récemment utilisé. La définir sur 0 désactive le cache : tous les polygones mis en cache sont évincés, et chaque requête suivante prétraite à nouveau son polygone constant. Le cache peut également être vidé manuellement, sans modifier cette limite, à l’aide de la requête SYSTEM DROP POINT IN POLYGON CACHE.
Ce paramètre peut être modifié en cours d’exécution et prendra effet immédiatement.

prefixes_deserialization_thread_pool_thread_pool_queue_size

Le nombre maximal de jobs pouvant être planifiés dans le pool de threads de désérialisation des préfixes.
Une valeur de 0 signifie sans limite.

prepare_system_log_tables_on_startup

Si cette option est définie sur true, ClickHouse crée toutes les tables system.*_log configurées avant le démarrage. Cela peut être utile si certains scripts de démarrage dépendent de ces tables.

process_query_plan_packet

Ce paramètre permet la lecture du paquet QueryPlan. Ce paquet est envoyé pour les requêtes distribuées lorsque serialize_query_plan est activé. Il est désactivé par défaut afin d’éviter d’éventuels problèmes de sécurité pouvant être causés par des bogues dans la désérialisation binaire du plan de requête. Exemple

processors_profile_log

Paramètres de la table système processors_profile_log. Les paramètres suivants peuvent être configurés via des sous-balises : De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
Les paramètres par défaut sont :

prometheus

Expose les données de métriques afin qu’elles puissent être collectées par Prometheus. Paramètres :
  • endpoint – Point de terminaison HTTP pour la collecte des métriques par le serveur Prometheus. Doit commencer par ’/’.
  • port – Port de endpoint.
  • metrics – Expose les métriques de la table system.metrics.
  • events – Expose les métriques de la table system.events.
  • asynchronous_metrics – Expose les valeurs actuelles des métriques de la table system.asynchronous_metrics.
  • errors - Expose le nombre d’erreurs par code d’erreur depuis le dernier redémarrage du serveur. Ces informations peuvent également être obtenues via system.errors.
Exemple
Vérifiez (remplacez 127.0.0.1 par l’adresse IP ou le nom d’hôte de votre serveur ClickHouse) :

prometheus.keeper_metrics_only

Expose les métriques associées à Keeper

proxy

Définissez des serveurs proxy pour les requêtes HTTP et HTTPS, actuellement pris en charge par le stockage S3, les fonctions de table S3 et les fonctions URL. Il existe trois façons de définir des serveurs proxy :
  • variables d’environnement
  • listes de proxy
  • résolveurs de proxy distants.
La possibilité de contourner les serveurs proxy pour des hôtes spécifiques est également prise en charge à l’aide de no_proxy. Variables d’environnement Les variables d’environnement http_proxy et https_proxy vous permettent de spécifier un serveur proxy pour un protocole donné. Si elles sont définies sur votre système, cela devrait fonctionner sans problème. C’est l’approche la plus simple si un protocole donné ne dispose que d’un seul serveur proxy et que ce serveur proxy ne change pas. Listes de proxy Cette approche vous permet de spécifier un ou plusieurs serveurs proxy pour un protocole. Si plusieurs serveurs proxy sont définis, ClickHouse utilise les différents proxy selon une méthode round-robin, en répartissant la charge entre les serveurs. C’est l’approche la plus simple s’il existe plusieurs serveurs proxy pour un protocole et que la liste de ces serveurs proxy ne change pas. Modèle de configuration
Sélectionnez un champ parent dans les onglets ci-dessous pour afficher ses champs enfants :
Résolveurs de proxy distants Il est possible que les serveurs proxy changent dynamiquement. Dans ce cas, vous pouvez définir le point de terminaison d’un résolveur. ClickHouse envoie une requête GET vide à ce point de terminaison ; le résolveur distant doit renvoyer l’hôte du proxy. ClickHouse l’utilisera pour construire l’URI du proxy à l’aide du modèle suivant : \{proxy_scheme\}://\{proxy_host\}:{proxy_port} Modèle de configuration
Sélectionnez un champ parent dans les onglets ci-dessous pour afficher ses champs enfants :
Préséance Les paramètres du proxy sont déterminés dans l’ordre suivant : ClickHouse vérifiera le type de résolveur ayant la priorité la plus élevée pour le protocole de la requête. S’il n’est pas défini, il vérifiera alors le type de résolveur ayant la priorité immédiatement inférieure, jusqu’à atteindre le résolveur d’environnement. Cela permet également d’utiliser une combinaison de types de résolveur.

remap_executable

Paramètre permettant de réallouer de la mémoire pour le code machine (“text”) à l’aide de pages mémoire de grande taille.
Cette fonctionnalité est encore très expérimentale.
Exemple

replica_group_name

Nom du groupe de répliques pour la base de données Replicated. Le cluster créé par la base de données Replicated sera constitué de répliques appartenant au même groupe. Les requêtes DDL n’attendront que les répliques appartenant au même groupe. Vide par défaut. Exemple

replicated_merge_tree

Réglages avancés pour les tables ReplicatedMergeTree. Ce paramètre a une priorité plus élevée. Pour plus d’informations, consultez le fichier d’en-tête MergeTreeSettings.h. Exemple

restore_threads

Le nombre maximal de threads pour exécuter les requêtes RESTORE.

send_crash_reports

Paramètres d’envoi des rapports de plantage à l’équipe principale de développement de ClickHouse. L’activer, en particulier dans les environnements de préproduction, est vivement apprécié. Clés : Utilisation recommandée

series_keeper_path

Chemin dans Keeper avec des numéros auto-incrémentés, générés par la fonction generateSerialID. Chaque série correspondra à un nœud sous ce chemin.

ssh_server

La partie publique de la clé d’hôte sera inscrite dans le fichier known_hosts côté client SSH lors de la première connexion. Les configurations de clé d’hôte sont désactivées par défaut. Décommentez-les et indiquez le chemin vers la clé SSH correspondante pour les activer : Exemple :

table_engines_require_grant

Si la valeur est définie sur true, les utilisateurs doivent disposer d’un privilège pour créer une table avec un engine spécifique, par ex. GRANT TABLE ENGINE ON TinyLog to user.
Par défaut, pour assurer la rétrocompatibilité, la création d’une table avec un table engine spécifique ne tient pas compte des privilèges ; vous pouvez toutefois modifier ce comportement en définissant cette valeur sur true.

tcp_ssh_port

Port du serveur SSH permettant à l’utilisateur de se connecter et d’exécuter des requêtes de façon interactive à l’aide du client intégré via le PTY. Exemple :

text_log

Paramètres de la table système text_log pour la journalisation des messages textuels. Les paramètres suivants peuvent être configurés via des sous-balises : De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
De plus : Exemple

thread_pool_queue_size

Nombre maximal de jobs pouvant être planifiés dans le Global pool de threads. Augmenter la taille de la queue entraîne une utilisation mémoire plus élevée. Il est recommandé de conserver cette valeur égale à max_thread_pool_size.
Une valeur de 0 signifie qu’il n’y a pas de limite.
Exemple

throw_on_unknown_workload

Définit le comportement lors de l’accès à un WORKLOAD inconnu avec le paramètre de requête ‘workload’.
  • Si true, l’exception RESOURCE_ACCESS_DENIED est levée pour une requête qui tente d’accéder à un workload inconnu. Utile pour imposer l’ordonnancement des ressources à toutes les requêtes une fois la hiérarchie de WORKLOAD établie et contenant WORKLOAD default.
  • Si false (par défaut), une requête dont le paramètre ‘workload’ pointe vers un WORKLOAD inconnu bénéficie d’un accès illimité, sans ordonnancement des ressources. Cela est important lors de la configuration de la hiérarchie de WORKLOAD, avant l’ajout de WORKLOAD default.
Exemple
Voir aussi

timezone

Le fuseau horaire du serveur. Il est spécifié sous la forme d’un identifiant IANA correspondant au fuseau horaire UTC ou à un lieu géographique (par exemple, Africa/Abidjan). Le fuseau horaire est nécessaire pour les conversions entre les formats String et DateTime lorsque des champs DateTime sont restitués au format texte (affichés à l’écran ou dans un fichier), ainsi que lors de la conversion d’une chaîne en DateTime. En outre, il est utilisé dans les fonctions qui manipulent la date et l’heure si aucun fuseau horaire ne leur a été fourni dans les paramètres d’entrée. Exemple
Voir aussi

trace_log

Paramètres de fonctionnement de la table système trace_log. Les paramètres suivants peuvent être configurés via des sous-balises : De plus, le paramètre suivant au niveau du serveur contrôle la politique de vidage par défaut pour toutes les tables de journal système :
Le fichier de configuration du serveur par défaut config.xml contient la section de paramètres suivante :

url_scheme_mappers

Configuration permettant de convertir des préfixes d’URL abrégés ou symboliques en URL complètes. Exemple :

validate_tcp_client_information

Détermine si la validation des informations client est activée à la réception d’un paquet de requête. Par défaut, la valeur est false :

wait_dictionaries_load_at_startup

Ce paramètre permet de définir le comportement lorsque dictionaries_lazy_load vaut false. (Si dictionaries_lazy_load vaut true, ce paramètre n’a aucun effet.) Si wait_dictionaries_load_at_startup vaut false, le serveur commencera à charger tous les dictionnaires au démarrage et acceptera des connexions en parallèle de ce chargement. Lorsqu’un dictionnaire est utilisé pour la première fois dans une requête, celle-ci attendra que le dictionnaire soit chargé si ce n’est pas encore le cas. Définir wait_dictionaries_load_at_startup sur false peut permettre à ClickHouse de démarrer plus rapidement ; toutefois, certaines requêtes peuvent s’exécuter plus lentement (car elles devront attendre le chargement de certains dictionnaires). Si wait_dictionaries_load_at_startup vaut true, le serveur attendra au démarrage que tous les dictionnaires aient terminé leur chargement (avec succès ou non) avant d’accepter la moindre connexion. Exemple

webassembly_udf_engine

Le moteur utilisé pour exécuter les UDF WebAssembly. Les valeurs prises en charge sont « wasmtime » et « wasmedge ».

webterminal_allowed_origins

Liste d’origines complètes séparées par des virgules (scheme + host + port facultatif) autorisées à ouvrir des sessions WebSocket /webterminal. Lorsqu’elle est vide, la politique de même origine est appliquée strictement (Origin doit correspondre au scheme, au host et au port de la request). Définissez ce paramètre pour les déploiements derrière un proxy inverse avec terminaison TLS, où request.isSecure() vaut false même si le navigateur utilise https. Exemple : https://example.com,https://app.example.com:8443.
Dernière modification le 23 juillet 2026