clickhousectl は、ローカル環境と Cloud の両方で ClickHouse を扱うための CLI です。
clickhousectl では、次のことができます。
- ローカルの ClickHouse バージョンをインストールして管理する
- ローカルの ClickHouse server を起動して管理する
- ClickHouse server に対してクエリを実行する
- ClickHouse Cloud をセットアップし、Cloud 管理の ClickHouse クラスターを作成する
- ClickHouse Cloud のリソースを管理する
- 対応しているコーディングエージェントに、公式の ClickHouse agent スキルをインストールする
- ローカルの ClickHouse 開発環境を Cloud にプッシュする
clickhousectl は、人間と AI エージェントの両方による ClickHouse を使った開発を支援します。
インストール
クイックインストール
~/.local/bin/clickhousectl にインストールします。利便性のため、chctl のaliasも自動的に自動的に作成されます。
要件
- macOS (aarch64, x86_64) または Linux (aarch64, x86_64)
- Cloud コマンドの実行には、ClickHouse Cloud APIキー が必要です
ローカル
ClickHouse バージョンのインストールと管理
clickhousectl は GitHub releases から ClickHouse のバイナリをダウンロードします。
ClickHouseバイナリの保存先
~/.clickhousectl/ に保存されます。
プロジェクトを初期化する
init は、現在の作業ディレクトリに ClickHouse プロジェクトファイル用の標準的なフォルダー構成を作成します。これは必須ではなく、必要に応じて独自のフォルダー構成を使用できます。
次の構成が作成されます。
クエリを実行する
ClickHouse サーバーの作成と管理
.clickhousectl/servers/<name>/data/ に割り当てられます。
--name を指定しない場合、最初のサーバーの名前は “default” になります。“default” がすでに実行中であれば、ランダムな名前 (例: “bold-crane”) が生成されます。繰り返し起動/停止する際に同じ識別子を使いたい場合は、--name を使用してください。
ポート: デフォルトでは HTTP 8123 と TCP 9000 を使用します。これらがすでに使用中の場合は、空いているポートが自動的に割り当てられ、出力に表示されます。ポートを明示的に指定するには、--http-port と --tcp-port を使用してください。
プロジェクトローカルのデータディレクトリ
.clickhousectl/ に保存されます。
clickhousectl local server remove <name> を使用します。
認証
OAuthログイン (推奨)
.clickhousectl/tokens.json に保存されます (プロジェクトローカル) 。
API キー/シークレット
.clickhousectl/credentials.json (プロジェクトローカル) に保存されます。
環境変数を使用することもできます。
認証ステータスとログアウト
.clickhousectl/credentials.json > 環境変数。
Cloud
組織
サービス
サービス作成オプション
| オプション | 説明 |
|---|---|
--name | サービス名 (必須) |
--provider | クラウドプロバイダー: aws, gcp, azure (デフォルト: aws) |
--region | リージョン (デフォルト: us-east-1) |
--min-replica-memory-gb | レプリカあたりの最小メモリ (GB) (8~356、4 の倍数) |
--max-replica-memory-gb | レプリカあたりの最大メモリ (GB) (8~356、4 の倍数) |
--num-replicas | レプリカ数 (1~20) |
--idle-scaling | ゼロまでのスケールを許可 (デフォルト: true) |
--idle-timeout-minutes | アイドルタイムアウトの最小値 (分) (>= 5) |
--ip-allow | 許可する IP CIDR (複数回指定可能、デフォルト: 0.0.0.0/0) |
--backup-id | 復元元の Backup ID |
--release-channel | リリースチャネル: slow, default, fast |
クエリエンドポイントの管理
プライベート エンドポイントの管理
バックアップ設定
バックアップ
メンバー
招待
キー
アクティビティ
JSON 出力
--json フラグを使用します。
スキル
非対話型フラグ
| フラグ | 説明 |
|---|---|
--agent <name> | 特定のエージェント向けのスキルをインストールします (繰り返し指定可能) |
--global | グローバルスコープを使用します。省略した場合はプロジェクトスコープが使用されます |
--all | サポートされているすべてのエージェント向けのスキルをインストールします |
--detected-only | システム上で検出された、サポート対象のエージェント向けのスキルをインストールします |