Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Изменение промпта в clickhouse-client

Если вам не нравится, как clickhouse client и clickhouse-local отображают промпт в терминале, его можно изменить, добавив префикс. В этой статье объясняется, как изменить промпт на любое по вашему выбору.

По умолчанию промпт — это имя вашего локального компьютера, за которым следует :) :

Промпт клиента ClickHouse по умолчанию

Ниже приведены переменные, которые можно использовать в промпте: {user}, {host}

Есть несколько способов изменить промпт, и мы разберем каждый из них.

Флаг –prompt

Первый способ изменить значение флага — использовать --prompt:

clickhouse --prompt 👉

Это добавит эмодзи с пальцем перед смайликом:

Промпт клиента ClickHouse с эмодзи пальца

Файл конфигурации — верхний уровень

Также можно указать префикс промпта в файле config.xml:

<config>
    <prompt>👉 </prompt>
</config>
clickhouse
Промпт клиента ClickHouse с конфигурационным файлом

Мы можем использовать конфигурационный файл с любым именем и передать его с помощью флага -C:

<config>
    <prompt>🎄 </prompt>
</config>
clickhouse -C christmas.xml
Промпт клиента ClickHouse с эмодзи в виде рождественской ёлки

Предпочитаете хранить файлы конфигурации в YAML? Это тоже можно:

prompt: 🟡
clickhouse -C christmas.yaml
Промпт клиента ClickHouse с эмодзи в виде жёлтого круга

Файл конфигурации - connections_credentials

Кроме того, можно указать отдельный промпт для каждого набора учетных данных подключения. Это имеет смысл только при использовании 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>

Затем можно попробовать подключиться, используя подключение dev:

clickhouse client -C connections.xml --connection dev
Промпт клиента ClickHouse с подключением Development

Или вариант prod:

clickhouse client -C connections.xml --connection prod
Промпт клиента ClickHouse с подключением к продакшну

А вот версия в 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}"

Для подключения dev:

clickhouse client -C connections.yaml --connection dev
Промпт клиента ClickHouse с подключением Development, заданным в YAML

А теперь prod:

clickhouse client -C connections.yaml --connection prod
Промпт клиента ClickHouse с подключением к продакшну через YAML
Navigation