> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-revert-104359-revert-104251-parquet-single.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

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

> В этой статье рассказывается, как изменить промпт в терминале клиента ClickHouse и clickhouse-local, заменив :) на префикс с последующим :)

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

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

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

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/PFv6BUx0ibY7rkJm/images/knowledgebase/change-the-prompt-in-clickhouse-client/0_prompt.webp?fit=max&auto=format&n=PFv6BUx0ibY7rkJm&q=85&s=ceb8cad8d38a187f714cb939d0814183" size="md" alt="Промпт клиента ClickHouse по умолчанию" width="2289" height="411" data-path="images/knowledgebase/change-the-prompt-in-clickhouse-client/0_prompt.webp" />

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

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

<div id="--prompt-flag">
  ## Флаг --prompt
</div>

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

```bash theme={null}
clickhouse --prompt 👉
```

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

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/PFv6BUx0ibY7rkJm/images/knowledgebase/change-the-prompt-in-clickhouse-client/1_prompt.webp?fit=max&auto=format&n=PFv6BUx0ibY7rkJm&q=85&s=f878e1c2062407e13da71c6dc1edc4ee" size="md" alt="Промпт клиента ClickHouse с эмодзи пальца" width="2298" height="386" data-path="images/knowledgebase/change-the-prompt-in-clickhouse-client/1_prompt.webp" />

<div id="config-file---top-level">
  ## Файл конфигурации — верхний уровень
</div>

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

```xml theme={null}
<config>
    <prompt>👉 </prompt>
</config>
```

```
clickhouse
```

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/PFv6BUx0ibY7rkJm/images/knowledgebase/change-the-prompt-in-clickhouse-client/2_prompt.webp?fit=max&auto=format&n=PFv6BUx0ibY7rkJm&q=85&s=b6d2f96a5f0a4dff0d2be00921d26fda" size="md" alt="Промпт клиента ClickHouse с конфигурационным файлом" width="2307" height="769" data-path="images/knowledgebase/change-the-prompt-in-clickhouse-client/2_prompt.webp" />

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

```xml theme={null}
<config>
    <prompt>🎄 </prompt>
</config>
```

```
clickhouse -C christmas.xml
```

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/PFv6BUx0ibY7rkJm/images/knowledgebase/change-the-prompt-in-clickhouse-client/3_prompt.webp?fit=max&auto=format&n=PFv6BUx0ibY7rkJm&q=85&s=b99f32d518adb37f442fd49cce210c40" size="md" alt="Промпт клиента ClickHouse с эмодзи в виде рождественской ёлки" width="2314" height="781" data-path="images/knowledgebase/change-the-prompt-in-clickhouse-client/3_prompt.webp" />

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

```yaml theme={null}
prompt: 🟡
```

```bash theme={null}
clickhouse -C christmas.yaml
```

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/PFv6BUx0ibY7rkJm/images/knowledgebase/change-the-prompt-in-clickhouse-client/4_prompt.webp?fit=max&auto=format&n=PFv6BUx0ibY7rkJm&q=85&s=afa2bab09446b057bda2e8d4d525fdab" size="md" alt="Промпт клиента ClickHouse с эмодзи в виде жёлтого круга" width="2302" height="600" data-path="images/knowledgebase/change-the-prompt-in-clickhouse-client/4_prompt.webp" />

<div id="config-file---connections_credentials">
  ## Файл конфигурации - connections\_credentials
</div>

Кроме того, можно указать отдельный промпт для каждого набора учетных данных подключения.
Это имеет смысл только при использовании clickhouse-client.

```xml theme={null}
<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`:

```bash theme={null}
clickhouse client -C connections.xml --connection dev
```

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/PFv6BUx0ibY7rkJm/images/knowledgebase/change-the-prompt-in-clickhouse-client/5_prompt.webp?fit=max&auto=format&n=PFv6BUx0ibY7rkJm&q=85&s=681d5bed3e8fcf669f42a8077c58b511" size="md" alt="Промпт клиента ClickHouse с подключением Development" width="1310" height="203" data-path="images/knowledgebase/change-the-prompt-in-clickhouse-client/5_prompt.webp" />

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

```bash theme={null}
clickhouse client -C connections.xml --connection prod
```

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/PFv6BUx0ibY7rkJm/images/knowledgebase/change-the-prompt-in-clickhouse-client/6_prompt.webp?fit=max&auto=format&n=PFv6BUx0ibY7rkJm&q=85&s=3d6cfd5a11881160257def96bb88147c" size="md" alt="Промпт клиента ClickHouse с подключением к продакшну" width="1297" height="189" data-path="images/knowledgebase/change-the-prompt-in-clickhouse-client/6_prompt.webp" />

А вот версия в YAML:

```yaml theme={null}
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`:

```bash theme={null}
clickhouse client -C connections.yaml --connection dev
```

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/PFv6BUx0ibY7rkJm/images/knowledgebase/change-the-prompt-in-clickhouse-client/7_prompt.webp?fit=max&auto=format&n=PFv6BUx0ibY7rkJm&q=85&s=7d3b2619a98c5ad1ecf1b0af1809f3c2" size="md" alt="Промпт клиента ClickHouse с подключением Development, заданным в YAML" width="1581" height="169" data-path="images/knowledgebase/change-the-prompt-in-clickhouse-client/7_prompt.webp" />

А теперь `prod`:

```bash theme={null}
clickhouse client -C connections.yaml --connection prod
```

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/PFv6BUx0ibY7rkJm/images/knowledgebase/change-the-prompt-in-clickhouse-client/8_prompt.webp?fit=max&auto=format&n=PFv6BUx0ibY7rkJm&q=85&s=ff1de0716c50110a304b850c4080c432" size="md" alt="Промпт клиента ClickHouse с подключением к продакшну через YAML" width="1525" height="187" data-path="images/knowledgebase/change-the-prompt-in-clickhouse-client/8_prompt.webp" />
