ClickHouse/docs/ru/sql-reference/statements/kill.md
Roman Bug 62054856b7
DOCSUP-1999: Restruct sql statements section in separate files. (#13389)
* DOCSUP-1999: First commit to test and build docs.

* DOCSUP-1999: Move topics from misc.md to single files.

* DOCSUP-1999: Add footer original article (for some files)

* DOCSUP-1999: Fix some links.

* DOCSUP-1999: Add Original article footer for all added files.

* DOCSUP-1999: Fix broken link.

* DOCSUP-1999: Fix header in misc.md (by pr comment).
Fixed footer (original article).

* DOCSUP-1999: Fix broken links for build.

Co-authored-by: romanzhukov <romanzhukov@yandex-team.ru>
2020-08-10 16:10:48 +03:00

3.9 KiB
Raw Blame History

toc_priority toc_title
48 KILL

KILL

Существует два вида операторов KILL: KILL QUERY и KILL MUTATION

KILL QUERY

KILL QUERY [ON CLUSTER cluster]
  WHERE <where expression to SELECT FROM system.processes query>
  [SYNC|ASYNC|TEST]
  [FORMAT format]

Пытается принудительно остановить исполняющиеся в данный момент запросы. Запросы для принудительной остановки выбираются из таблицы system.processes с помощью условия, указанного в секции WHERE запроса KILL.

Примеры

-- Принудительно останавливает все запросы с указанным query_id:
KILL QUERY WHERE query_id='2-857d-4a57-9ee0-327da5d60a90'

-- Синхронно останавливает все запросы пользователя 'username':
KILL QUERY WHERE user='username' SYNC

Readonly-пользователи могут останавливать только свои запросы.

По умолчанию используется асинхронный вариант запроса (ASYNC), который не дожидается подтверждения остановки запросов.

Синхронный вариант (SYNC) ожидает остановки всех запросов и построчно выводит информацию о процессах по ходу их остановки. Ответ содержит колонку kill_status, которая может принимать следующие значения:

  1. finished - запрос был успешно остановлен;
  2. waiting - запросу отправлен сигнал завершения, ожидается его остановка;
  3. остальные значения описывают причину невозможности остановки запроса.

Тестовый вариант запроса (TEST) только проверяет права пользователя и выводит список запросов для остановки.

KILL MUTATION

KILL MUTATION [ON CLUSTER cluster]
  WHERE <where expression to SELECT FROM system.mutations query>
  [TEST]
  [FORMAT format]

Пытается остановить выполняющиеся в данные момент мутации. Мутации для остановки выбираются из таблицы system.mutations с помощью условия, указанного в секции WHERE запроса KILL.

Тестовый вариант запроса (TEST) только проверяет права пользователя и выводит список запросов для остановки.

Примеры:

-- Останавливает все мутации одной таблицы:
KILL MUTATION WHERE database = 'default' AND table = 'table'

-- Останавливает конкретную мутацию:
KILL MUTATION WHERE database = 'default' AND table = 'table' AND mutation_id = 'mutation_3.txt'

Запрос полезен в случаях, когда мутация не может выполниться до конца (например, если функция в запросе мутации бросает исключение на данных таблицы).

Данные, уже изменённые мутацией, остаются в таблице (отката на старую версию данных не происходит).

Оригинальная статья