Перейти к основному содержимому
Перейти к основному содержимому

Операторы SYSTEM

RELOAD EMBEDDED DICTIONARIES

Перезагружает все внутренние словари. По умолчанию внутренние словари отключены. Всегда возвращает Ok., независимо от результата обновления внутреннего словаря.

RELOAD DICTIONARIES

Перезагружает все словари, которые были успешно загружены ранее. По умолчанию словари загружаются лениво (см. dictionaries_lazy_load), так что вместо автоматической загрузки при запуске, они инициализируются при первом доступе через функцию dictGet или выборке из таблиц с ENGINE = Dictionary. Запрос SYSTEM RELOAD DICTIONARIES перезагружает такие словари (LOADED). Всегда возвращает Ok., независимо от результата обновления словаря.

Синтаксис

RELOAD DICTIONARY

Полностью перезагружает словарь dictionary_name, независимо от состояния словаря (LOADED / NOT_LOADED / FAILED). Всегда возвращает Ok., независимо от результата обновления словаря.

Статус словаря можно проверить, выполнив запрос к таблице system.dictionaries.

RELOAD MODELS

примечание

Этот оператор и SYSTEM RELOAD MODEL просто выгружают модели catboost из clickhouse-library-bridge. Функция catboostEvaluate() загружает модель при первом доступе, если она еще не загружена.

Выгружает все модели CatBoost.

Синтаксис

RELOAD MODEL

Выгружает CatBoost модель по указанному model_path.

Синтаксис

RELOAD FUNCTIONS

Перезагружает все зарегистрированные выполнимые пользовательские функции или одну из них из файла конфигурации.

Синтаксис

RELOAD ASYNCHRONOUS METRICS

Перерассчитывает все асинхронные метрики. Поскольку асинхронные метрики периодически обновляются на основе настройки asynchronous_metrics_update_period_s, их ручное обновление с помощью этого оператора обычно не требуется.

DROP DNS CACHE

Очищает внутренний кэш DNS ClickHouse. Иногда (для старых версий ClickHouse) необходимо использовать эту команду при изменении инфраструктуры (изменение IP-адреса другого сервера ClickHouse или сервера, используемого словарями).

Для более удобного (автоматического) управления кэшем см. параметры disable_internal_dns_cache, dns_cache_max_entries, dns_cache_update_period.

DROP MARK CACHE

Очищает кэш меток.

DROP ICEBERG METADATA CACHE

Очищает кэш метаданных iceberg.

DROP REPLICA

Мертвые реплики таблиц ReplicatedMergeTree могут быть удалены с помощью следующего синтаксиса:

Запросы удалят путь реплики ReplicatedMergeTree в ZooKeeper. Это полезно, когда реплика мертва и ее метаданные не могут быть удалены из ZooKeeper с помощью DROP TABLE, потому что такой таблицы больше нет. Это удалит только неактивную/устаревшую реплику, и вы не можете удалить локальную реплику, для этого используйте DROP TABLE. DROP REPLICA не удаляет никакие таблицы и не удаляет данные или метаданные с диска.

Первый запрос удаляет метаданные реплики 'replica_name' таблицы database.table. Второй запрос делает то же самое для всех реплицированных таблиц в базе данных. Третий запрос делает то же самое для всех реплицированных таблиц на локальном сервере. Четвертый запрос полезен для удаления метаданных мертвой реплики, когда все другие реплики таблицы были удалены. Он требует явного указания пути таблицы, он должен быть тем же путем, который был передан в первом аргументе движка ReplicatedMergeTree при создании таблицы.

DROP DATABASE REPLICA

Мертвые реплики баз данных Replicated могут быть удалены с помощью следующего синтаксиса:

Аналогично SYSTEM DROP REPLICA, но удаляет путь реплики Replicated базы данных из ZooKeeper, когда нет базы данных для выполнения DROP DATABASE. Пожалуйста, обратите внимание, что это не удаляет реплики ReplicatedMergeTree (поэтому вам может понадобиться также использовать SYSTEM DROP REPLICA). Имена шардов и реплик - это имена, которые были указаны в аргументах движка Replicated при создании базы данных. Эти имена также можно получить из столбцов database_shard_name и database_replica_name в system.clusters. Если оператор FROM SHARD отсутствует, то replica_name должен быть полным именем реплики в формате shard_name|replica_name.

DROP UNCOMPRESSED CACHE

Очищает кэш необработанных данных. Кэш необработанных данных включается/выключается с помощью настройки use_uncompressed_cache. Его размер может быть настроен с помощью настройки уровня сервера uncompressed_cache_size.

DROP COMPILED EXPRESSION CACHE

Очищает кэш скомпилированных выражений. Кэш скомпилированных выражений включается/выключается с помощью настройки уровня запроса/пользователя/профиля compile_expressions.

DROP QUERY CONDITION CACHE

Очищает кэш условий запросов.

DROP QUERY CACHE

Очищает кэш запросов. Если указан тег, удаляются только записи кэша запросов с указанным тегом.

DROP FORMAT SCHEMA CACHE

Очищает кэш для схем, загруженных из format_schema_path.

Поддерживаемые форматы:

  • Protobuf

FLUSH LOGS

Сбрасывает буферизованные сообщения журнала в системные таблицы, например system.query_log. В основном полезно для отладки, поскольку у большинства системных таблиц есть интервал сброса по умолчанию 7.5 секунд. Это также создаст системные таблицы, даже если очередь сообщений пуста.

Если вы не хотите сбрасывать все, вы можете сбросить один или несколько отдельных журналов, передав либо их имя, либо их целевую таблицу:

RELOAD CONFIG

Перезагружает конфигурацию ClickHouse. Используется, когда конфигурация хранится в ZooKeeper. Обратите внимание, что SYSTEM RELOAD CONFIG не перезагружает конфигурацию USER, хранящуюся в ZooKeeper, он только перезагружает конфигурацию USER, которая хранится в users.xml. Чтобы перезагрузить всю конфигурацию USER, используйте SYSTEM RELOAD USERS

RELOAD USERS

Перезагружает все хранилища доступа, включая: users.xml, хранилище доступа на локальном диске, реплицированное (в ZooKeeper) хранилище доступа.

SHUTDOWN

Not supported in ClickHouse Cloud

Обычно завершает работу ClickHouse (как service clickhouse-server stop / kill {$pid_clickhouse-server})

KILL

Прерывает процесс ClickHouse (как kill -9 {$ pid_clickhouse-server})

Управление распределенными таблицами

ClickHouse может управлять распределенными таблицами. Когда пользователь вставляет данные в эти таблицы, ClickHouse сначала создает очередь данных, которые должны быть отправлены на узлы кластера, а затем отправляет их асинхронно. Вы можете управлять обработкой очереди с помощью запросов STOP DISTRIBUTED SENDS, FLUSH DISTRIBUTED и START DISTRIBUTED SENDS. Вы также можете синхронно вставлять распределенные данные с настройкой distributed_foreground_insert.

STOP DISTRIBUTED SENDS

Отключает фоновую распределение данных при вставке данных в распределенные таблицы.

примечание

В случае, если включена настройка prefer_localhost_replica (по умолчанию), данные будут вставлены в локальный шард, несмотря на это.

FLUSH DISTRIBUTED

Принудительно заставляет ClickHouse отправить данные в узлы кластера синхронно. Если какие-либо узлы недоступны, ClickHouse выбрасывает исключение и останавливает выполнение запроса. Вы можете повторить запрос до тех пор, пока он не будет успешным, что произойдет, когда все узлы снова будут онлайн.

Вы также можете переопределить некоторые настройки с помощью оператора SETTINGS, это может быть полезно для избегания некоторых временных ограничений, таких как max_concurrent_queries_for_all_users или max_memory_usage.

примечание

Каждый ожидающий блок хранится на диске с настройками из начального запроса INSERT, так что иногда вы можете захотеть переопределить настройки.

START DISTRIBUTED SENDS

Включает фоновое распределение данных при вставке данных в распределенные таблицы.

STOP LISTEN

Закрывает сокет и корректно завершает существующие соединения с сервером на указанном порту с указанным протоколом.

Тем не менее, если соответствующие настройки протокола не были указаны в конфигурации clickhouse-server, эта команда не окажет эффекта.

  • Если указан модификатор CUSTOM 'protocol', будет остановлен пользовательский протокол с указанным именем, определенным в разделе протоколов конфигурации сервера.
  • Если указан модификатор QUERIES ALL [EXCEPT .. [,..]], все протоколы останавливаются, за исключением тех, которые указаны с помощью оператора EXCEPT.
  • Если указан модификатор QUERIES DEFAULT [EXCEPT .. [,..]], все протоколы по умолчанию останавливаются, за исключением тех, которые указаны с помощью оператора EXCEPT.
  • Если указан модификатор QUERIES CUSTOM [EXCEPT .. [,..]], все пользовательские протоколы останавливаются, за исключением тех, которые указаны с помощью оператора EXCEPT.

START LISTEN

Позволяет устанавливать новые соединения по указанным протоколам.

Тем не менее, если сервер на указанном порту и протоколе не был остановлен с помощью команды SYSTEM STOP LISTEN, эта команда не окажет эффекта.

Управление таблицами MergeTree

ClickHouse может управлять фоновыми процессами в таблицах MergeTree.

STOP MERGES

Not supported in ClickHouse Cloud

Предоставляет возможность остановить фоновое слияние для таблиц семейства MergeTree:

примечание

Команда DETACH / ATTACH финализирует фоновую слияние для таблицы, даже если слияние было остановлено для всех таблиц MergeTree ранее.

START MERGES

Not supported in ClickHouse Cloud

Предоставляет возможность начать фоновое слияние для таблиц семейства MergeTree:

STOP TTL MERGES

Предоставляет возможность остановить фоновое удаление старых данных в соответствии с TTL выражением для таблиц семейства MergeTree: Возвращает Ok., даже если таблица не существует или таблица не имеет движка MergeTree. Возвращает ошибку, когда база данных не существует:

START TTL MERGES

Предоставляет возможность начать фоновое удаление старых данных в соответствии с TTL выражением для таблиц семейства MergeTree: Возвращает Ok., даже если таблица не существует. Возвращает ошибку, когда база данных не существует:

STOP MOVES

Предоставляет возможность остановить фоновое перемещение данных в соответствии с TTL таблицы выражением с TO VOLUME или TO DISK оператором для таблиц семейства MergeTree: Возвращает Ok., даже если таблица не существует. Возвращает ошибку, когда база данных не существует:

START MOVES

Предоставляет возможность начать фоновое перемещение данных в соответствии с TTL таблицы выражением с TO VOLUME и TO DISK оператором для таблиц семейства MergeTree: Возвращает Ok., даже если таблица не существует. Возвращает ошибку, когда база данных не существует:

SYSTEM UNFREEZE

Очищает замороженную резервную копию с указанным именем со всех дисков. Смотрите больше о размораживании отдельных частей в ALTER TABLE table_name UNFREEZE WITH NAME

WAIT LOADING PARTS

Ждет, пока все асинхронно загружаемые части данных таблицы (устаревшие части данных) станут загруженными.

Управление таблицами ReplicatedMergeTree

ClickHouse может управлять фоновой репликацией связанных процессов в таблицах ReplicatedMergeTree.

STOP FETCHES

Not supported in ClickHouse Cloud

Предоставляет возможность остановить фоновую выгрузку для вставленных частей для таблиц семейства ReplicatedMergeTree: Всегда возвращает Ok., независимо от движка таблицы и даже если таблица или база данных не существуют.

START FETCHES

Not supported in ClickHouse Cloud

Предоставляет возможность начать фоновую выгрузку для вставленных частей для таблиц семейства ReplicatedMergeTree: Всегда возвращает Ok., независимо от движка таблицы и даже если таблица или база данных не существуют.

STOP REPLICATED SENDS

Предоставляет возможность остановить фоновую выгрузку для других реплик в кластере для новых вставленных частей для таблиц семейства ReplicatedMergeTree:

START REPLICATED SENDS

Предоставляет возможность начать фоновую выгрузку для других реплик в кластере для новых вставленных частей для таблиц семейства ReplicatedMergeTree:

STOP REPLICATION QUEUES

Предоставляет возможность остановить фоновые задачи выгрузки из очередей репликации, которые хранятся в Zookeeper для таблиц семейства ReplicatedMergeTree. Возможные типы фоновых задач - слияния, выгрузки, мутации, DDL операторы с оператором ON CLUSTER:

START REPLICATION QUEUES

Предоставляет возможность начать фоновые задачи выгрузки из очередей репликации, которые хранятся в Zookeeper для таблиц семейства ReplicatedMergeTree. Возможные типы фоновых задач - слияния, выгрузки, мутации, DDL операторы с оператором ON CLUSTER:

STOP PULLING REPLICATION LOG

Останавливает загрузку новых записей из журнала репликации в очередь репликации в таблице ReplicatedMergeTree.

START PULLING REPLICATION LOG

Отменяет SYSTEM STOP PULLING REPLICATION LOG.

SYNC REPLICA

Ждет, пока таблица ReplicatedMergeTree синхронизируется с другими репликами в кластере, но не более чем на receive_timeout секунд.

После выполнения этого оператора [db.]replicated_merge_tree_family_table_name извлекает команды из общего журнала репликации в свою собственную очередь репликации, а затем запрос ожидает, пока реплика обработает все извлеченные команды. Поддерживаются следующие модификаторы:

  • Если указан модификатор STRICT, тогда запрос ждет, пока очередь репликации не станет пустой. Версия STRICT может никогда не завершиться успешно, если в очереди репликации постоянно появляются новые записи.
  • Если указан модификатор LIGHTWEIGHT, тогда запрос ждет только обработки записей GET_PART, ATTACH_PART, DROP_RANGE, REPLACE_RANGE и DROP_PART. Дополнительно, модификатор LIGHTWEIGHT поддерживает необязательный оператор FROM 'srcReplicas', где 'srcReplicas' - это запятая-разделенный список имен исходных реплик. Это расширение позволяет более целенаправленную синхронизацию, сосредотачиваясь только на задачах репликации, происходящих от указанных исходных реплик.
  • Если указан модификатор PULL, запрос извлекает новые записи очереди репликации из ZooKeeper, но не ждет обработки ничего.

SYNC DATABASE REPLICA

Ждет, пока указанная реплицированная база данных применит все изменения схемы из DDL очереди этой базы данных.

Синтаксис

RESTART REPLICA

Предоставляет возможность повторной инициализации состояния сессии ZooKeeper для таблицы ReplicatedMergeTree, будет сравнивать текущее состояние с ZooKeeper как источник правды и добавлять задачи в очередь ZooKeeper, если это необходимо. Инициализация очереди репликации на основе данных ZooKeeper происходит так же, как для оператора ATTACH TABLE. На короткое время таблица будет недоступна для любых операций.

RESTORE REPLICA

Восстанавливает реплику, если данные [возможно] присутствуют, но метаданные ZooKeeper потеряны.

Работает только на ReplicatedMergeTree таблицах с режимом только для чтения.

Запрос можно выполнить после:

  • Потери корня ZooKeeper /.
  • Потери пути реплик /replicas.
  • Потери отдельного пути реплики /replicas/replica_name/.

Реплика прикрепляет локально найденные части и отправляет информацию о них в ZooKeeper. Части, присутствующие на реплике до потери метаданных, не извлекаются снова из других частей, если они не являются устаревшими (поэтому восстановление реплики не означает повторной загрузки всех данных через сеть).

примечание

Части во всех состояниях перемещаются в папку detached/. Части, активные до потери данных (зафиксированные), прикрепляются.

Синтаксис

Альтернативный синтаксис:

Пример

Создание таблицы на нескольких серверах. После потери метаданных реплики в ZooKeeper, таблица будет прикреплена как только для чтения, так как метаданные отсутствуют. Последний запрос нужно выполнить на каждой реплике.

Другой способ:

RESTART REPLICAS

Предоставляет возможность повторной инициализации состояния сессий ZooKeeper для всех таблиц ReplicatedMergeTree, будет сравнивать текущее состояние с ZooKeeper как источник правды и добавлять задачи в очередь ZooKeeper, если это необходимо.

DROP FILESYSTEM CACHE

Позволяет удалить кэш файловой системы.

SYNC FILE CACHE

примечание

Это очень тяжелая операция и имеет потенциал для неправильного использования.

Выполнит системный вызов синхронизации.

LOAD PRIMARY KEY

Загружает первичные ключи для указанной таблицы или для всех таблиц.

UNLOAD PRIMARY KEY

Выгружает первичные ключи для указанной таблицы или для всех таблиц.

Управление обновляемыми материализованными представлениями

Команды для управления фоновыми задачами, выполняемыми обновляемыми материализованными представлениями

Следите за system.view_refreshes во время их использования.

REFRESH VIEW

Запускает немедленное обновление вне расписания для данного представления.

REFRESH VIEW

Ждет завершения текущего обновления. Если обновление не удалось, выбрасывает исключение. Если обновление не выполняется, завершается немедленно, выбрасывая исключение, если предыдущее обновление не удалось.

STOP [REPLICATED] VIEW, STOP VIEWS

Отключает периодическое обновление данного представления или всех обновляемых представлений. Если обновление выполняется, отменяет его тоже.

Если представление находится в реплицированной или общей базе данных, STOP VIEW влияет только на текущую реплику, в то время как STOP REPLICATED VIEW влияет на все реплики.

START [REPLICATED] VIEW, START VIEWS

Включает периодическое обновление для данного представления или для всех обновляемых представлений. Никакое немедленное обновление не инициируется.

Если представление находится в реплицированной или общей базе данных, START VIEW отменяет эффект STOP VIEW, а START REPLICATED VIEW отменяет эффект STOP REPLICATED VIEW.

CANCEL VIEW

Если для данного представления на текущей реплике выполняется обновление, прерывает и отменяет его. В противном случае не делает ничего.

SYSTEM WAIT VIEW

Ждет завершения выполняющегося обновления. Если обновление не выполняется, сразу возвращает. Если последняя попытка обновления не удалась, сообщает об ошибке.

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

Если представление находится в реплицированной или общей базе данных, и обновление выполняется на другой реплике, ждет завершения этого обновления.