> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# clickhouse-client のプロンプトを変更する

> この記事では、ClickHouse client と 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>;
};

{frontMatter.description}

端末ウィンドウでの `clickhouse client` や clickhouse-local のプロンプト表示が気に入らない場合は、変更してプレフィックスを追加できます。
この記事では、プロンプトを好きな内容に変更する方法を説明します。

デフォルトのプロンプトは、ローカルコンピューター名の後に `:) ` が付いた形式です。

<Image img="https://mintcdn.com/private-7c7dfe99/mWK0LIJWA-YNz_kU/images/knowledgebase/change-the-prompt-in-clickhouse-client/0_prompt.webp?fit=max&auto=format&n=mWK0LIJWA-YNz_kU&q=85&s=27239daa242f5d20dba46fde96a2ff21" size="md" alt="デフォルトの ClickHouse client のプロンプト" 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/mWK0LIJWA-YNz_kU/images/knowledgebase/change-the-prompt-in-clickhouse-client/1_prompt.webp?fit=max&auto=format&n=mWK0LIJWA-YNz_kU&q=85&s=27b3c2f290908c0804af7e01164ba73e" size="md" alt="指の絵文字が付いたClickHouse clientプロンプト" 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/mWK0LIJWA-YNz_kU/images/knowledgebase/change-the-prompt-in-clickhouse-client/2_prompt.webp?fit=max&auto=format&n=mWK0LIJWA-YNz_kU&q=85&s=4fb0580c9948c21f456f5e7fabfa935a" size="md" alt="設定ファイルを使用したClickHouse clientのプロンプト" 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/mWK0LIJWA-YNz_kU/images/knowledgebase/change-the-prompt-in-clickhouse-client/3_prompt.webp?fit=max&auto=format&n=mWK0LIJWA-YNz_kU&q=85&s=e29421fc104756cbe466f5182be1fbbe" size="md" alt="クリスマスツリーの絵文字付きのClickHouse clientプロンプト" 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/mWK0LIJWA-YNz_kU/images/knowledgebase/change-the-prompt-in-clickhouse-client/4_prompt.webp?fit=max&auto=format&n=mWK0LIJWA-YNz_kU&q=85&s=77d8822797a72bc78898de9075472f9e" size="md" alt="黄色い丸の絵文字付きのClickHouse clientのプロンプト" 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/mWK0LIJWA-YNz_kU/images/knowledgebase/change-the-prompt-in-clickhouse-client/5_prompt.webp?fit=max&auto=format&n=mWK0LIJWA-YNz_kU&q=85&s=c653e4bcd35e43dd63e2d92cb362d721" size="md" alt="development 接続の ClickHouse client のプロンプト" 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/mWK0LIJWA-YNz_kU/images/knowledgebase/change-the-prompt-in-clickhouse-client/6_prompt.webp?fit=max&auto=format&n=mWK0LIJWA-YNz_kU&q=85&s=48950664621db5870fe0be537b66a65d" size="md" alt="本番環境への接続を使用したClickHouse clientのプロンプト" 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/mWK0LIJWA-YNz_kU/images/knowledgebase/change-the-prompt-in-clickhouse-client/7_prompt.webp?fit=max&auto=format&n=mWK0LIJWA-YNz_kU&q=85&s=0369e94e271f49c2b1e85f5ee9357f60" size="md" alt="YAMLを使用した開発用接続の ClickHouse client のプロンプト" 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/mWK0LIJWA-YNz_kU/images/knowledgebase/change-the-prompt-in-clickhouse-client/8_prompt.webp?fit=max&auto=format&n=mWK0LIJWA-YNz_kU&q=85&s=900304317244a1203fc69a4b9464686d" size="md" alt="YAML を使用した本番環境への接続時の ClickHouse client のプロンプト" width="1525" height="187" data-path="images/knowledgebase/change-the-prompt-in-clickhouse-client/8_prompt.webp" />
