clickhousectl 是 ClickHouse 的 CLI,适用于本地和云端。
使用 clickhousectl,你可以:
- 安装和管理本地 ClickHouse 版本
- 启动和管理本地 ClickHouse 服务器
- 在 ClickHouse 服务器上执行查询
- 设置 ClickHouse Cloud 并创建由云端托管的 ClickHouse 集群
- 管理 ClickHouse Cloud 资源
- 将官方 ClickHouse agent 技能安装到受支持的代码智能体中
- 将本地 ClickHouse 开发推送到云端
clickhousectl 可帮助开发者和 AI 智能体使用 ClickHouse 进行开发。
安装
快速安装
~/.local/bin/clickhousectl。为方便使用,还会自动创建一个 chctl 别名。
要求
- 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 密钥/Secret
.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 |
查询端点管理
专用终结点管理
Backup 配置
Backup
成员
邀请
键
活动
JSON 输出
--json 标志输出 JSON 格式的响应。
技能
非交互式标志
| 标志 | 描述 |
|---|---|
--agent <name> | 为指定智能体安装技能 (可重复使用) |
--global | 使用全局作用域;如省略,则使用项目作用域 |
--all | 为所有受支持的智能体安装技能 |
--detected-only | 为系统中已检测到的受支持智能体安装技能 |