Установка
Запуск
Если вы только скачали ClickHouse, но не установили его, используйте
./clickhouse client вместо clickhouse-client.
Полный список параметров командной строки см. в разделе Параметры командной строки.
Подключение к ClickHouse Cloud
Выберите Native — отобразятся сведения о подключении и пример команды
clickhouse-client:
Хранение подключений в файле конфигурации
Чтобы сосредоточиться на синтаксисе запроса, в остальных примерах опущены сведения о подключении (
--host, --port и т. д.). Не забудьте добавить их при использовании команд.Интерактивный режим
Использование интерактивного режима
PrettyCompact.
Вы можете изменить формат в предложении FORMAT запроса или с помощью параметра командной строки --format.
Чтобы использовать формат Vertical, можно указать --vertical или добавить \G в конце запроса.
В этом формате каждое значение выводится на отдельной строке, что удобно для широких таблиц.
В интерактивном режиме по умолчанию всё введённое выполняется при нажатии Enter.
Точка с запятой в конце запроса не обязательна.
Вы можете запустить клиент с параметром -m, --multiline.
Чтобы ввести многострочный запрос, добавьте обратную косую черту \ перед переводом строки.
После нажатия Enter вам будет предложено ввести следующую строку запроса.
Чтобы выполнить запрос, завершите его точкой с запятой и нажмите Enter.
Клиент ClickHouse основан на replxx (аналог readline), поэтому поддерживает привычные сочетания клавиш и сохраняет историю.
По умолчанию история записывается в ~/.clickhouse-client-history.
Чтобы выйти из клиента, нажмите Ctrl+D или вместо запроса введите одно из следующего:
exitилиexit;quitилиquit;q,Qили:qlogoutилиlogout;
Информация об обработке запроса
- Прогресс, который по умолчанию обновляется не чаще 10 раз в секунду. Для быстрых запросов прогресс может просто не успеть отобразиться.
- Отформатированный запрос после разбора — для отладки.
- Результат в указанном формате.
- Количество строк в результате, затраченное время и среднюю скорость обработки запроса. Все объёмы данных относятся к несжатым данным.
Ctrl+C.
Однако вам всё равно придётся немного подождать, пока сервер прервёт его выполнение.
На некоторых этапах отменить запрос невозможно.
Если не ждать и нажать Ctrl+C второй раз, клиент завершит работу.
клиент ClickHouse позволяет передавать внешние данные (внешние временные таблицы) для выполнения запросов.
Подробнее см. в разделе Внешние данные для обработки запроса.
Псевдонимы
\l- SHOW DATABASES\d- SHOW TABLES\c <DATABASE>- USE DATABASE.- повторить последний запрос
Сочетания клавиш
Alt (Option) + Shift + e— открыть редактор с текущим запросом. Редактор можно задать с помощью переменной окруженияEDITOR. По умолчанию используетсяvim.Alt (Option) + #— закомментировать строку.Ctrl + r— поиск по истории с нечётким совпадением.
Пакетный режим
Работа в пакетном режиме
--query:
stdin:
messages уже существует, вы также можете вставить данные из командной строки:
--query, все входные данные добавляются к запросу после символа перевода строки.
Вставка CSV-файла в удалённый сервис ClickHouse
cell_towers.csv вставляется в существующую таблицу cell_towers в базе данных default:
Примеры вставки данных из командной строки
cat <<_EOF начинает конструкцию heredoc, которая считывает всё до следующего появления _EOF, а затем выводит это:
cat, а затем через конвейер передаётся на вход clickhouse-client:
TabSeparated.
Вы можете указать формат в предложении FORMAT запроса, как показано в примере выше.
Запросы с параметрами
Синтаксис запроса
Примеры
Генерация SQL с помощью ИИ
OPENAI_API_KEY или ANTHROPIC_API_KEY. Более подробную информацию о расширенной настройке см. в разделе Configuration.
Использование
?? перед запросом на естественном языке:
- Автоматически изучать схему вашей базы данных
- Генерировать подходящий SQL на основе обнаруженных таблиц и столбцов
- Сразу выполнять сгенерированный запрос
Пример
Конфигурация
Резервный вариант через переменные окружения
- Сначала проверяется переменная окружения
OPENAI_API_KEY - Если она не найдена, проверяется переменная окружения
ANTHROPIC_API_KEY - Если не найдена ни одна из них, возможности AI будут отключены
Файл конфигурации
$XDG_CONFIG_HOME/clickhouse/config.xml(или~/.config/clickhouse/config.xml, еслиXDG_CONFIG_HOMEне задан) (формат XML)$XDG_CONFIG_HOME/clickhouse/config.yaml(или~/.config/clickhouse/config.yaml, еслиXDG_CONFIG_HOMEне задан) (формат YAML)~/.clickhouse-client/config.xml(формат XML, устаревший путь)~/.clickhouse-client/config.yaml(формат YAML, устаревший путь)- Или укажите произвольный путь с помощью
--config-file
- XML
- YAML
Использование API, совместимых с OpenAI (например, OpenRouter):
Параметры
Обязательные параметры
Обязательные параметры
api_key- Ваш API-ключ для сервиса ИИ. Можно не указывать, если он задан через переменную окружения:- OpenAI:
OPENAI_API_KEY - Anthropic:
ANTHROPIC_API_KEY - Примечание: API-ключ в файле конфигурации имеет приоритет над переменной окружения
- OpenAI:
provider- Провайдер ИИ:openaiилиanthropic- Если не указан, автоматически выбирается по доступным переменным окружения
Конфигурация модели
Конфигурация модели
model- Используемая модель (по умолчанию: зависит от провайдера)- OpenAI:
gpt-4o,gpt-4,gpt-3.5-turboи т. д. - Anthropic:
claude-3-5-sonnet-20241022,claude-3-opus-20240229и т. д. - OpenRouter: используйте их схему именования моделей, например
anthropic/claude-3.5-sonnet
- OpenAI:
Настройки подключения
Настройки подключения
base_url- Пользовательская конечная точка API для сервисов, совместимых с OpenAI (необязательно)timeout_seconds- Тайм-аут запроса в секундах (по умолчанию:30)
Исследование схемы
Исследование схемы
enable_schema_access- Разрешить ИИ просматривать схемы базы данных (по умолчанию:true)max_steps- Максимальное количество шагов вызова инструментов для исследования схемы (по умолчанию:10)
Параметры генерации
Параметры генерации
temperature- Управляет степенью случайности: 0.0 = детерминированно, 1.0 = креативно (по умолчанию:0.0)max_tokens- Максимальная длина ответа в токенах (по умолчанию:1000)system_prompt- Пользовательские инструкции для ИИ (необязательно)
Как это работает
- Определение схемы
- Перечисляет доступные базы данных
- Находит таблицы в соответствующих базах данных
- Анализирует структуру таблиц с помощью операторов
CREATE TABLE
- Генерация запроса
- Соответствует вашему запросу на естественном языке
- Использует правильные имена таблиц и столбцов
- Применяет подходящие JOIN и агрегации
- Выполнение
Ограничения
- Требуется активное подключение к интернету
- На использование API распространяются ограничения по частоте запросов, а также взимается плата со стороны поставщика ИИ
- Для сложных запросов может потребоваться несколько уточнений
- ИИ имеет доступ только для чтения к информации о схеме, но не к фактическим данным
Безопасность
- Ключи API никогда не отправляются на серверы ClickHouse
- AI видит только информацию о схеме (имена таблиц/столбцов и типы), а не сами данные
- Все сгенерированные запросы учитывают ваши текущие разрешения на доступ к базе данных
Строка подключения
Использование
Примечания
--user, --password или --database (и наоборот).
Компонент host может быть как именем хоста, так и адресом IPv4 или IPv6.
Адреса IPv6 должны быть заключены в []:
clickHouse-client.
Строку подключения можно сочетать с любым количеством других параметров командной строки, кроме --host и --port.
Для query_parameters допустимы следующие ключи:
Процентное кодирование
Символы вне US-ASCII, пробелы и специальные символы в следующих параметрах должны быть закодированы с помощью процентного кодирования:
userpasswordhostsdatabasequery parameters
Примеры
localhost через порт 9000 и выполните запрос SELECT 1.
localhost от имени пользователя john с паролем secret, указав хост 127.0.0.1 и порт 9000
localhost от имени пользователя default, используя узел с адресом IPv6 [::1] и порт 9000.
localhost через порт 9000 в многострочном режиме.
localhost по порту 9000 под пользователем default.
localhost через порт 9000; по умолчанию будет использоваться база данных my_database.
localhost на порту 9000; по умолчанию будет использоваться база данных my_database, указанная в строке подключения, а для защищенного подключения используйте сокращенный параметр s.
my_user, без пароля.
localhost, используя адрес электронной почты в качестве имени пользователя. Символ @ заменяется на %40 при процентном кодировании.
192.168.1.15, 192.168.1.25.
Формат Query id
query_id_formats. Заполнитель {query_id} в строке формата заменяется идентификатором запроса. Внутри тега допускается несколько строк формата.
Эту возможность можно использовать для генерации URL-адресов, облегчающих анализ данных профилирования запросов.
Пример
Файлы конфигурации
- Файл, указанный параметром
-c [ -C, --config, --config-file ]. ./clickhouse-client.[xml|yaml|yml]$XDG_CONFIG_HOME/clickhouse/config.[xml|yaml|yml](или~/.config/clickhouse/config.[xml|yaml|yml], еслиXDG_CONFIG_HOMEне задан)~/.clickhouse-client/config.[xml|yaml|yml]/etc/clickhouse-client/config.[xml|yaml|yml]
clickhouse-client.xml
- XML
- YAML
Параметры переменных окружения
CLICKHOUSE_USER, CLICKHOUSE_PASSWORD и CLICKHOUSE_HOST.
Аргументы командной строки --user, --password или --host, а также строка подключения (если она указана), имеют приоритет над переменными окружения.
Параметры командной строки
Общие параметры
Параметры подключения
Вместо параметров
--host, --port, --user и --password клиент также поддерживает строки подключения.