clickhousectl — это CLI для ClickHouse: локального и Cloud.
С помощью clickhousectl вы можете:
- Устанавливать локальные версии ClickHouse и управлять ими
- Запускать локальные серверы ClickHouse и управлять ими
- Выполнять запросы к серверам ClickHouse
- Настраивать ClickHouse Cloud и создавать кластеры ClickHouse под управлением облака
- Управлять ресурсами ClickHouse Cloud
- Устанавливать официальные навыки агентов ClickHouse в поддерживаемые агенты для программирования
- Переносить локальную разработку на ClickHouse в облако
clickhousectl помогает людям и AI-агентам разрабатывать решения на ClickHouse.
Установка
Быстрая установка
~/.local/bin/clickhousectl. Для удобства также автоматически создаётся алиас chctl.
Требования
- macOS (aarch64, x86_64) или Linux (aarch64, x86_64)
- Для выполнения команд Cloud требуется API-ключ ClickHouse Cloud
Локально
Установка и управление версиями ClickHouse
clickhousectl загружает бинарные файлы ClickHouse из раздела релизов на GitHub.
Хранение бинарных файлов 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
Организации
Сервисы
Параметры создания сервиса
Управление эндпоинтами запросов
Управление частной конечной точкой
Настройка резервного копирования
Резервные копии
Участники
Приглашения
Ключи
Активность
Вывод в формате JSON
--json, чтобы выводить ответы в формате JSON.