mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-12 02:23:14 +00:00
67c2e50331
* update presentations * CLICKHOUSE-2936: redirect from clickhouse.yandex.ru and clickhouse.yandex.com * update submodule * lost files * CLICKHOUSE-2981: prefer sphinx docs over original reference * CLICKHOUSE-2981: docs styles more similar to main website + add flags to switch language links * update presentations * Less confusing directory structure (docs -> doc/reference/) * Minify sphinx docs too * Website release script: fail fast + pass docker hash on deploy * Do not underline links in docs * shorter * cleanup docker images * tune nginx config * CLICKHOUSE-3043: get rid of habrastorage links * Lost translation * CLICKHOUSE-2936: temporary client-side redirect * behaves weird in test * put redirect back * CLICKHOUSE-3047: copy docs txts to public too * move to proper file * remove old pages to avoid confusion * Remove reference redirect warning for now * Refresh README.md * Yellow buttons in docs * Use svg flags instead of unicode ones in docs * fix test website instance * Put flags to separate files * wrong flag * Copy Yandex.Metrica introduction from main page to docs * Yet another home page structure change, couple new blocks (CLICKHOUSE-3045) * Update Contacts section * CLICKHOUSE-2849: more detailed legal information * CLICKHOUSE-2978 preparation - split by files * More changes in Contacts block * Tune texts on index page * update presentations * One more benchmark * Add usage sections to index page, adapted from slides * Get the roadmap started, based on slides from last ClickHouse Meetup * CLICKHOUSE-2977: some rendering tuning * Get rid of excessive section in the end of getting started * Make headers linkable * CLICKHOUSE-2981: links to editing reference - https://github.com/yandex/ClickHouse/issues/849 * CLICKHOUSE-2981: fix mobile styles in docs * Ban crawling of duplicating docs * Open some external links in new tab * Ban old docs too * Lots of trivial fixes in english docs * Lots of trivial fixes in russian docs * Remove getting started copies in markdown * Add Yandex.Webmaster * Fix some sphinx warnings * More warnings fixed in english docs * More sphinx warnings fixed * Add code-block:: text * More code-block:: text * These headers look not that well * Better switch between documentation languages * merge use_case.rst into ya_metrika_task.rst * Edit the agg_functions.rst texts * Add lost empty lines * Lost blank lines * Add new logo sizes * update presentations * Next step in migrating to new documentation * Fix all warnings in en reference * Fix all warnings in ru reference * Re-arrange existing reference * Move operation tips to main reference * Fix typos noticed by milovidov@ * Get rid of zookeeper.md * Looks like duplicate of tutorial.html * Fix some mess with html tags in tutorial * No idea why nobody noticed this before, but it was completely not clear whet to get the data * Match code block styling between main and tutorial pages (in favor of the latter) * Get rid of some copypaste in tutorial * Normalize header styles * Move example_datasets to sphinx * Move presentations submodule to website * Move and update README.md * No point in duplicating articles from habrahabr here * Move development-related docs as is for now * doc/reference/ -> docs/ (to match the URL on website) * Adapt links to match the previous commit * Adapt development docs to rst (still lacks translation and strikethrough support) * clean on release * blacklist presentations in gulp * strikethrough support in sphinx * just copy development folder for now * fix weird introduction in style article * Style guide translation (WIP) * Finish style guide translation to English * gulp clean separately * Update year in LICENSE * Initial CONTRIBUTING.md * Fix remaining links to old docs in tutorial * Some tutorial fixes * Typo * Another typo * Update list of authors from yandex-team accoding to git log
102 lines
10 KiB
ReStructuredText
102 lines
10 KiB
ReStructuredText
Клиент командной строки
|
||
-----------------------
|
||
Для работы из командной строки вы можете использовать clickhouse-client:
|
||
|
||
.. code-block:: bash
|
||
|
||
$ clickhouse-client
|
||
ClickHouse client version 0.0.26176.
|
||
Connecting to localhost:9000.
|
||
Connected to ClickHouse server version 0.0.26176.
|
||
|
||
:) SELECT 1
|
||
|
||
|
||
|
||
Программа ``clickhouse-client`` принимает следующие параметры, все из которых являются необязательными:
|
||
|
||
``--host, -h`` - имя сервера, по умолчанию - localhost.
|
||
Вы можете использовать как имя, так и IPv4 или IPv6 адрес.
|
||
|
||
``--port`` - порт, к которому соединяться, по умолчанию - 9000.
|
||
Замечу, что для HTTP и родного интерфейса используются разные порты.
|
||
|
||
``--user, -u`` - имя пользователя, по умолчанию - default.
|
||
|
||
``--password`` - пароль, по умолчанию - пустая строка.
|
||
|
||
``--query, -q`` - запрос для выполнения, при использовании в неинтерактивном режиме.
|
||
|
||
``--database, -d`` - выбрать текущую БД, по умолчанию - текущая БД из настроек сервера (по умолчанию - БД default).
|
||
|
||
``--multiline, -m`` - если указано - разрешить многострочные запросы, не отправлять запрос по нажатию Enter.
|
||
|
||
``--multiquery, -n`` - если указано - разрешить выполнять несколько запросов, разделённых точкой с запятой.
|
||
Работает только в неинтерактивном режиме.
|
||
|
||
``--format, -f`` - использовать указанный формат по умолчанию для вывода результата.
|
||
``--vertical, -E`` - если указано, использовать формат Vertical по умолчанию для вывода результата. То же самое, что --format=Vertical. В этом формате каждое значение выводится на отдельной строке, что удобно для отображения широких таблиц.
|
||
``--time, -t`` - если указано, в неинтерактивном режиме вывести время выполнения запроса в stderr.
|
||
``--stacktrace`` - если указано, в случае исключения, выводить также его стек трейс.
|
||
``--config-file`` - имя конфигурационного файла, в котором есть дополнительные настройки или изменены умолчания для настроек, указанных выше.
|
||
По умолчанию, ищутся файлы в следующем порядке:
|
||
./clickhouse-client.xml
|
||
~/./clickhouse-client/config.xml
|
||
/etc/clickhouse-client/config.xml
|
||
Настройки берутся только из первого найденного файла.
|
||
|
||
Также вы можете указать любые настроки, которые будут использованы для обработки запросов. Например, clickhouse-client --max_threads=1. Подробнее см. раздел "Настройки".
|
||
|
||
Клиент может быть использован в интерактивном и неинтерактивном (batch) режиме.
|
||
Чтобы использовать batch режим, укажите параметр query, или отправьте данные в stdin (проверяется, что stdin - не терминал), или и то, и другое.
|
||
Аналогично HTTP интерфейсу, при использовании одновременно параметра query и отправке данных в stdin, запрос составляется из конкатенации параметра query, перевода строки, и данных в stdin. Это удобно для больших INSERT запросов.
|
||
|
||
Примеры использования клиента для вставки данных:
|
||
|
||
.. code-block:: bash
|
||
|
||
echo -ne "1, 'some text', '2016-08-14 00:00:00'\n2, 'some more text', '2016-08-14 00:00:01'" | clickhouse-client --database=test --query="INSERT INTO test FORMAT CSV";
|
||
|
||
cat <<_EOF | clickhouse-client --database=test --query="INSERT INTO test FORMAT CSV";
|
||
3, 'some text', '2016-08-14 00:00:00'
|
||
4, 'some more text', '2016-08-14 00:00:01'
|
||
_EOF
|
||
|
||
cat file.csv | clickhouse-client --database=test --query="INSERT INTO test FORMAT CSV";
|
||
|
||
|
||
В batch режиме в качестве формата данных по умолчанию используется формат TabSeparated. Формат может быть указан в секции FORMAT запроса.
|
||
|
||
По умолчанию, в batch режиме вы можете выполнить только один запрос. Чтобы выполнить несколько запросов из "скрипта", используйте параметр --multiquery. Это работает для всех запросов кроме INSERT. Результаты запросов выводятся подряд без дополнительных разделителей.
|
||
Также, при необходимости выполнить много запросов, вы можете запускать clickhouse-client на каждый запрос. Заметим, что запуск программы clickhouse-client может занимать десятки миллисекунд.
|
||
|
||
В интерактивном режиме, вы получите командную строку, в которую можно вводить запросы.
|
||
|
||
Если не указано multiline (по умолчанию):
|
||
Чтобы выполнить запрос, нажмите Enter. Точка с запятой на конце запроса не обязательна. Чтобы ввести запрос, состоящий из нескольких строк, перед переводом строки, введите символ обратного слеша: ``\`` - тогда после нажатия Enter, вам предложат ввести следующую строку запроса.
|
||
|
||
Если указано multiline (многострочный режим):
|
||
Чтобы выполнить запрос, завершите его точкой с запятой и нажмите Enter. Если в конце введённой строки не было точки с запятой, то вам предложат ввести следующую строчку запроса.
|
||
|
||
Исполняется только один запрос, поэтому всё, что введено после точки с запятой, игнорируется.
|
||
|
||
Вместо или после точки с запятой может быть указано ``\G``. Это обозначает использование формата Vertical. В этом формате каждое значение выводится на отдельной строке, что удобно для широких таблиц. Столь необычная функциональность добавлена для совместимости с MySQL CLI.
|
||
|
||
Командная строка сделана на основе readline (и history) (или libedit, или без какой-либо библиотеки, в зависимости от сборки) - то есть, в ней работают привычные сочетания клавиш, а также присутствует история.
|
||
История пишется в ~/.clickhouse-client-history.
|
||
|
||
По умолчанию, в качестве формата, используется формат PrettyCompact (красивые таблички). Вы можете изменить формат с помощью секции FORMAT запроса, или с помощью указания `\G` на конце запроса, с помощью аргумента командной строки --format или --vertical, или с помощью конфигурационного файла клиента.
|
||
|
||
Чтобы выйти из клиента, нажмите Ctrl+D (или Ctrl+C), или наберите вместо запроса одно из:
|
||
"exit", "quit", "logout", "учше", "йгше", "дщпщге", "exit;", "quit;", "logout;", "учшеж", "йгшеж", "дщпщгеж", "q", "й", "\q", "\Q", ":q", "\й", "\Й", "Жй"
|
||
|
||
При выполнении запроса, клиент показывает:
|
||
1. Прогресс выполнение запроса, который обновляется не чаще, чем 10 раз в секунду (по умолчанию). При быстрых запросах, прогресс может не успеть отобразиться.
|
||
2. Отформатированный запрос после его парсинга - для отладки.
|
||
3. Результат в заданном формате.
|
||
4. Количество строк результата, прошедшее время, а также среднюю скорость выполнения запроса.
|
||
|
||
Вы можете прервать длинный запрос, нажав Ctrl+C. При этом вам всё равно придётся чуть-чуть подождать, пока сервер остановит запрос. На некоторых стадиях выполнения, запрос невозможно прервать. Если вы не дождётесь и нажмёте Ctrl+C второй раз, то клиент будет завершён.
|
||
|
||
Клиент командной строки позволяет передать внешние данные (внешние временные таблицы) для использования запроса. Подробнее смотрите раздел "Внешние данные для обработки запроса"
|