Installation
Exécuter
Si vous avez seulement téléchargé ClickHouse sans l’installer, utilisez
./clickhouse client au lieu de clickhouse-client.
Pour obtenir la liste complète des options de ligne de commande, voir Options de ligne de commande.
Se connecter à ClickHouse Cloud
Choisissez Native : les informations de connexion s’affichent avec un exemple de commande
clickhouse-client :
Stocker des connexions dans un fichier de configuration
Afin de se concentrer sur la syntaxe des requêtes, les exemples suivants omettent les informations de connexion (
--host, --port, etc.). N’oubliez pas de les ajouter lorsque vous utilisez ces commandes.Mode interactif
Utilisation du mode interactif
PrettyCompact.
Vous pouvez modifier le format dans la clause FORMAT de la requête ou en spécifiant l’option de ligne de commande --format.
Pour utiliser le format Vertical, vous pouvez utiliser --vertical ou ajouter \G à la fin de la requête.
Dans ce format, chaque valeur est affichée sur une ligne distincte, ce qui est pratique pour les tables larges.
En mode interactif, par défaut, tout ce que vous saisissez est exécuté lorsque vous appuyez sur Enter.
Il n’est pas nécessaire de terminer la requête par un point-virgule.
Vous pouvez démarrer le client avec le paramètre -m, --multiline.
Pour saisir une requête sur plusieurs lignes, entrez une barre oblique inverse \ avant le retour à la ligne.
Après avoir appuyé sur Enter, vous serez invité à saisir la ligne suivante de la requête.
Pour exécuter la requête, terminez-la par un point-virgule et appuyez sur Enter.
ClickHouse Client est basé sur replxx (similaire à readline), il utilise donc des raccourcis clavier familiers et conserve un historique.
L’historique est écrit dans ~/.clickhouse-client-history par défaut.
Pour quitter le client, appuyez sur Ctrl+D ou saisissez l’une des commandes suivantes à la place d’une requête :
exitouexit;quitouquit;q,Qou:qlogoutoulogout;
Informations sur le traitement des requêtes
- La progression, qui n’est, par défaut, pas mise à jour plus de 10 fois par seconde. Pour les requêtes rapides, elle peut ne pas avoir le temps de s’afficher.
- La requête mise en forme après l’analyse, à des fins de débogage.
- Le résultat dans le format spécifié.
- Le nombre de lignes du résultat, le temps écoulé et la vitesse moyenne de traitement de la requête. Tous les volumes de données se rapportent à des données non compressées.
Ctrl+C.
Cependant, vous devrez tout de même attendre un peu que le serveur interrompe la requête.
Il n’est pas possible d’annuler une requête à certaines étapes.
Si vous n’attendez pas et appuyez une deuxième fois sur Ctrl+C, le client se fermera.
ClickHouse Client permet de transmettre des données externes (tables temporaires externes) pour exécuter des requêtes.
Pour plus d’informations, consultez la section Données externes pour le traitement des requêtes.
Aliases
\l- SHOW DATABASES\d- SHOW TABLES\c <DATABASE>- USE DATABASE.- répéter la dernière requête
Raccourcis clavier
Alt (Option) + Shift + e- ouvre l’éditeur avec la requête en cours. Il est possible de définir l’éditeur à utiliser via la variable d’environnementEDITOR. Par défaut,vimest utilisé.Alt (Option) + #- commenter la ligne.Ctrl + r- recherche floue dans l’historique.
Mode batch
Utiliser le mode batch
--query en ligne de commande :
stdin :
messages existe, vous pouvez également insérer des données depuis la ligne de commande :
--query est spécifié, toute entrée est ajoutée à la requête après un retour à la ligne.
Insertion d’un fichier CSV dans un service ClickHouse distant
cell_towers.csv, dans la table existante cell_towers de la base de données default :
Exemples d’insertion de données en ligne de commande
cat <<_EOF démarre un heredoc qui lit tout le contenu jusqu’à ce qu’il rencontre à nouveau _EOF, puis l’affiche :
cat, puis transmis à clickhouse-client via un pipe en entrée :
TabSeparated.
Vous pouvez définir le format dans la clause FORMAT de la requête, comme indiqué dans l’exemple ci-dessus.
Requêtes paramétrées
Syntaxe de la requête
Exemples
Génération SQL assistée par IA
OPENAI_API_KEY ou ANTHROPIC_API_KEY est définie. Pour une configuration plus avancée, consultez la section Configuration.
Utilisation
?? :
- Explorer automatiquement le schéma de votre base de données
- Générer une requête SQL adaptée en fonction des tables et des colonnes détectées
- Exécuter immédiatement la requête générée
Exemple
Configuration
Bascule de secours via l’environnement
- Vérifie d’abord la variable d’environnement
OPENAI_API_KEY - Si elle n’est pas trouvée, vérifie la variable d’environnement
ANTHROPIC_API_KEY - Si aucune des deux n’est trouvée, les fonctionnalités d’IA seront désactivées
Fichier de configuration
$XDG_CONFIG_HOME/clickhouse/config.xml(ou~/.config/clickhouse/config.xmlsiXDG_CONFIG_HOMEn’est pas défini) (format XML)$XDG_CONFIG_HOME/clickhouse/config.yaml(ou~/.config/clickhouse/config.yamlsiXDG_CONFIG_HOMEn’est pas défini) (format YAML)~/.clickhouse-client/config.xml(format XML, emplacement legacy)~/.clickhouse-client/config.yaml(format YAML, emplacement legacy)- Ou indiquez un emplacement personnalisé avec
--config-file
- XML
- YAML
Utilisation d’API compatibles OpenAI (par ex. OpenRouter) :
Paramètres
Paramètres requis
Paramètres requis
api_key- Votre clé API pour le service d’IA. Peut être omise si elle est définie via une variable d’environnement :- OpenAI :
OPENAI_API_KEY - Anthropic :
ANTHROPIC_API_KEY - Remarque : la clé API du fichier de configuration prévaut sur la variable d’environnement
- OpenAI :
provider- Le fournisseur d’IA :openaiouanthropic- S’il est omis, le système utilise automatiquement les variables d’environnement disponibles
Configuration du modèle
Configuration du modèle
model- Le modèle à utiliser (par défaut : selon le fournisseur)- OpenAI :
gpt-4o,gpt-4,gpt-3.5-turbo, etc. - Anthropic :
claude-3-5-sonnet-20241022,claude-3-opus-20240229, etc. - OpenRouter : utilisez leur convention de nommage des modèles, par exemple
anthropic/claude-3.5-sonnet
- OpenAI :
Paramètres de connexion
Paramètres de connexion
base_url- point de terminaison de l’API personnalisé pour les services compatibles OpenAI (facultatif)timeout_seconds- Délai d’expiration de la requête, en secondes (par défaut :30)
Exploration du schéma
Exploration du schéma
enable_schema_access- Autoriser l’IA à explorer les schémas de la base de données (par défaut :true)max_steps- Nombre maximal d’étapes d’appel d’outils pour l’exploration du schéma (par défaut :10)
Paramètres de génération
Paramètres de génération
temperature- Contrôle le niveau d’aléa, 0.0 = déterministe, 1.0 = créatif (par défaut :0.0)max_tokens- Longueur maximale de la réponse en tokens (par défaut :1000)system_prompt- Instructions personnalisées pour l’IA (facultatif)
Fonctionnement
- Découverte du schéma
- Répertorie les bases de données disponibles
- Identifie les tables dans les bases de données pertinentes
- Examine la structure des tables à l’aide d’instructions
CREATE TABLE
- Génération de requêtes
- Correspond à votre intention exprimée en langage naturel
- Utilise les noms de tables et de colonnes corrects
- Applique les jointures et agrégations appropriées
- Exécution
Limitations
- Nécessite une connexion Internet active
- L’utilisation de l’API est soumise aux limites de requêtes et aux coûts du fournisseur d’IA
- Les requêtes complexes peuvent nécessiter plusieurs ajustements
- L’IA a un accès en lecture seule aux informations de schéma, et non aux données elles-mêmes
Sécurité
- Les clés API ne sont jamais envoyées aux serveurs ClickHouse
- L’IA n’a accès qu’aux informations de schéma (noms des tables/colonnes et types), pas aux données elles-mêmes
- Toutes les requêtes générées respectent les permissions existantes de votre base de données
Chaîne de connexion
Utilisation
Remarques
--user, --password ou --database (et inversement).
La composante host peut être soit un nom d’hôte, soit une adresse IPv4 ou IPv6.
Les adresses IPv6 doivent être entre [] :
clickHouse-client.
La chaîne de connexion peut être combinée avec n’importe quel nombre d’autres options de ligne de commande, à l’exception de --host et --port.
Les clés suivantes sont autorisées pour query_parameters :
Encodage en pourcentage
Les caractères non ASCII, les espaces et les caractères spéciaux dans les paramètres suivants doivent être encodés en pourcentage :
userpasswordhostsdatabasequery parameters
Exemples
localhost sur le port 9000 et exécutez la requête SELECT 1.
localhost avec l’utilisateur john, le mot de passe secret, l’hôte 127.0.0.1 et le port 9000
localhost avec l’utilisateur default, à l’hôte ayant l’adresse IPv6 [::1] et sur le port 9000.
localhost sur le port 9000 en mode multiligne.
localhost sur le port 9000 en tant qu’utilisateur default.
localhost sur le port 9000 et utilisez la base de données my_database par défaut.
localhost sur le port 9000, utilisez par défaut la base de données my_database spécifiée dans la chaîne de connexion et activez une connexion sécurisée à l’aide du paramètre abrégé s.
my_user et sans mot de passe.
localhost en utilisant l’adresse e-mail comme nom d’utilisateur. Le symbole @ est encodé au format pourcentage sous la forme %40.
192.168.1.15, 192.168.1.25.
Format de l’identifiant de requête
query_id_formats. Le marqueur {query_id} dans la chaîne de format est remplacé par l’ID de la requête. Plusieurs chaînes de format sont autorisées à l’intérieur de la balise.
Cette fonctionnalité peut être utilisée pour générer des URL afin de faciliter le profiling des requêtes.
Exemple
Fichiers de configuration
- Un fichier défini avec le paramètre
-c [ -C, --config, --config-file ]. ./clickhouse-client.[xml|yaml|yml]$XDG_CONFIG_HOME/clickhouse/config.[xml|yaml|yml](ou~/.config/clickhouse/config.[xml|yaml|yml]siXDG_CONFIG_HOMEn’est pas défini)~/.clickhouse-client/config.[xml|yaml|yml]/etc/clickhouse-client/config.[xml|yaml|yml]
clickhouse-client.xml
- XML
- YAML
Options des variables d’environnement
CLICKHOUSE_USER, CLICKHOUSE_PASSWORD et CLICKHOUSE_HOST.
Les arguments de ligne de commande --user, --password ou --host, ou une chaîne de connexion (si elle est spécifiée), sont prioritaires sur les variables d’environnement.
Options en ligne de commande
Options générales
Options de connexion
Au lieu des options
--host, --port, --user et --password, le client prend également en charge les chaînes de connexion.