Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Cambiar el prompt en clickhouse-client

Si no te gusta cómo clickhouse client y clickhouse-local muestran el prompt en la ventana de tu terminal, puedes cambiarlo para añadirle un prefijo. En este artículo se explica cómo cambiar el prompt por el que quieras.

El prompt predeterminado es el nombre de tu equipo, seguido de :) :

Prompt predeterminado del cliente de ClickHouse

Estas son las variables que puedes usar en un prompt: {user}, {host}

Hay varias formas de actualizar el prompt, y veremos cada una de ellas.

Opción --prompt

La primera forma de cambiar la opción consiste en usar --prompt:

clickhouse --prompt 👉

Esto añadirá el emoji de dedo antes de la carita sonriente:

Prompt de cliente de ClickHouse con emoji de dedo

Archivo de configuración: nivel superior

Como alternativa, puedes proporcionar un prefijo para el prompt en un archivo config.xml:

<config>
    <prompt>👉 </prompt>
</config>
clickhouse
Prompt del cliente de ClickHouse con archivo de configuración

Podemos usar un archivo de configuración con cualquier nombre y pasarlo con la opción -C:

<config>
    <prompt>🎄 </prompt>
</config>
clickhouse -C christmas.xml
Prompt del cliente de ClickHouse con emoji de árbol de Navidad

¿Prefieres que tus archivos de configuración estén en YAML? También funciona:

prompt: 🟡
clickhouse -C christmas.yaml
prompt del cliente de ClickHouse con emoji de círculo amarillo

Archivo de configuración - connections_credentials

Como alternativa, puede especificar un prompt para cada conjunto de credenciales de conexión. Esto solo tiene sentido cuando se utiliza 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>

Luego podemos intentar conectarnos usando la conexión dev:

clickhouse client -C connections.xml --connection dev
Prompt de cliente de ClickHouse con conexión de Development

O la de prod:

clickhouse client -C connections.xml --connection prod
Prompt del cliente de ClickHouse con conexión de producción

Y aquí tienes una versión en 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}"

Con la conexión dev:

clickhouse client -C connections.yaml --connection dev
Prompt de cliente de ClickHouse con conexión Development mediante YAML

Y ahora prod:

clickhouse client -C connections.yaml --connection prod
Prompt de cliente de ClickHouse con una conexión de producción mediante YAML
Navigation