Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Modifier l’invite de commande dans clickhouse-client

Si la façon dont clickhouse client et clickhouse-local affichent l’invite de commande dans votre terminal ne vous convient pas, vous pouvez la modifier en y ajoutant un préfixe. Cet article explique comment modifier l’invite de commande comme vous le souhaitez.

L’invite de commande par défaut est le nom de votre ordinateur local suivi de :)  :

Invite de commande par défaut du client ClickHouse

Voici les variables que vous pouvez utiliser dans une invite de commande : {user}, {host}

Il existe plusieurs façons de mettre à jour l’invite de commande, et nous allons les passer en revue une par une.

Option –prompt

La première façon de modifier cette option consiste à utiliser --prompt :

clickhouse --prompt 👉

Cela ajoutera l’emoji en forme de doigt avant le smiley :

Invite du client ClickHouse avec un emoji en forme de doigt

Fichier de configuration - niveau racine

Vous pouvez également fournir un préfixe d’invite dans un fichier config.xml :

<config>
    <prompt>👉 </prompt>
</config>
clickhouse
Invite du client ClickHouse avec fichier de configuration

Nous pouvons utiliser un fichier de configuration portant n’importe quel nom et le passer avec l’option -C :

<config>
    <prompt>🎄 </prompt>
</config>
clickhouse -C christmas.xml
Invite de commande du client ClickHouse avec un emoji sapin de Noël

Vous préférez vos fichiers de configuration en YAML ? Ça fonctionne aussi :

prompt: 🟡
clickhouse -C christmas.yaml
Invite de commande du client ClickHouse avec un emoji de cercle jaune

Fichier de configuration - connections_credentials

Vous pouvez également définir une invite pour chaque jeu d’identifiants de connexion. Cela n’a de sens que si vous utilisez clickhouse-client.

<config>
    <connections_credentials>
        <connection>
            <n>prod<n>
            <hostname>127.0.0.1</hostname>
            <port>9000</port>
            <secure>0</secure>
            <user>default</user>
            <prompt>\e[31m[PRODUCTION]\e[0m {user}@prod</prompt>
        </connection>
        <connection>
            <n>dev<n>
            <hostname>127.0.0.1</hostname>
            <port>9000</port>
            <secure>0</secure>
            <user>default</user>
            <prompt>\e[32m[DEVELOPMENT]\e[0m {user}@dev</prompt>
        </connection>
    </connections_credentials>
</config>

Nous pouvons ensuite essayer de nous connecter à l’aide de la connexion dev :

clickhouse client -C connections.xml --connection dev
Invite de commande du client ClickHouse avec la connexion de développement

Ou celle de prod :

clickhouse client -C connections.xml --connection prod
Invite de commande du client ClickHouse avec connexion de production

Et voici une version YAML :

connections_credentials:
  connection:
    - name: prod
      hostname: 127.0.0.1
      port: 9000
      secure: 0
      user: default
      prompt: "\e[35m[PRODUCTION]\e[0m {user}@{host}"
    - name: dev
      hostname: 127.0.0.1
      port: 9000
      secure: 0
      user: default
      prompt: "\e[34m[DEVELOPMENT]\e[0m {user}@{host}"

Avec la connexion dev :

clickhouse client -C connections.yaml --connection dev
Invite du client ClickHouse avec une connexion de développement en YAML

Et maintenant, prod :

clickhouse client -C connections.yaml --connection prod
Invite du client ClickHouse avec une connexion de production définie en YAML
Navigation