Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Altere o prompt no clickhouse-client

Se você não gosta de como o clickhouse client e o clickhouse-local exibem o prompt no terminal, é possível alterá-lo para incluir um prefixo. Este artigo explica como mudar o prompt para o que você quiser.

O prompt padrão é o nome do seu computador local seguido de :) :

Prompt padrão do ClickHouse client

Estas são as variáveis que você pode usar em um prompt: {user}, {host}

Há várias maneiras de alterar o prompt, e vamos passar por cada uma delas.

flag --prompt

A primeira forma de alterar a flag é com --prompt:

clickhouse --prompt 👉

Isso adicionará o emoji de dedo antes da carinha sorridente:

Prompt do ClickHouse client com emoji de dedo

Arquivo de configuração - nível superior

Como alternativa, você pode fornecer um prefixo de prompt em um arquivo config.xml:

<config>
    <prompt>👉 </prompt>
</config>
clickhouse
Prompt do ClickHouse client com arquivo de configuração

Podemos usar um arquivo de configuração com o nome que quisermos e passá-lo com a flag -C:

<config>
    <prompt>🎄 </prompt>
</config>
clickhouse -C christmas.xml
prompt do ClickHouse client com emoji de árvore de Natal

Prefere seus arquivos de config em YAML? Isso também funciona:

prompt: 🟡
clickhouse -C christmas.yaml
Prompt do ClickHouse client com emoji de círculo amarelo

Arquivo de configuração - connections_credentials

Como alternativa, você pode especificar um prompt para cada credencial de conexão. Isso só faz sentido ao usar o 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>

Podemos então tentar nos conectar usando a conexão dev:

clickhouse client -C connections.xml --connection dev
Prompt do ClickHouse client com conexão de desenvolvimento

Ou a prod:

clickhouse client -C connections.xml --connection prod
prompt do ClickHouse client com conexão de produção

E aqui está a versão em 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}"

Com a conexão dev:

clickhouse client -C connections.yaml --connection dev
Prompt do ClickHouse client com conexão de desenvolvimento usando YAML

E agora prod:

clickhouse client -C connections.yaml --connection prod
prompt do ClickHouse client com conexão de produção usando YAML
Navigation