Системные операторы
SYSTEM RELOAD EMBEDDED DICTIONARIES
Перезагружает все внутренние словари. По умолчанию внутренние словари отключены. Всегда возвращает Ok.
, независимо от результата обновления внутреннего словаря.
SYSTEM RELOAD DICTIONARIES
Перезагружает все словари, которые были успешно загружены ранее. По умолчанию словари загружаются лениво (см. dictionaries_lazy_load), поэтому вместо автоматической загрузки при запуске они инициализируются при первом обращении через функцию dictGet или SELECT из таблиц с ENGINE = Dictionary. Запрос SYSTEM RELOAD DICTIONARIES
перезагружает такие словари (LOADED). Всегда возвращает Ok.
, независимо от результата обновления словаря.
Синтаксис
SYSTEM RELOAD DICTIONARY
Полностью перезагружает словарь dictionary_name
, независимо от состояния словаря (LOADED / NOT_LOADED / FAILED). Всегда возвращает Ok.
, независимо от результата обновления словаря.
Состояние словаря можно проверить, запросив таблицу system.dictionaries
.
SYSTEM RELOAD MODELS
Этот оператор и SYSTEM RELOAD MODEL
просто выгружают модели catboost из clickhouse-library-bridge. Функция catboostEvaluate()
загружает модель при первом обращении, если она еще не загружена.
Выгружает все модели CatBoost.
Синтаксис
SYSTEM RELOAD MODEL
Выгружает модель CatBoost по адресу model_path
.
Синтаксис
SYSTEM RELOAD FUNCTIONS
Перезагружает все зарегистрированные выполняемые пользовательские функции или одну из них из файла конфигурации.
Синтаксис
SYSTEM RELOAD ASYNCHRONOUS METRICS
Пересчитывает все асинхронные метрики. Поскольку асинхронные метрики периодически обновляются на основе настройки asynchronous_metrics_update_period_s, их обновление вручную с помощью этого оператора обычно не требуется.
SYSTEM DROP DNS CACHE
Очищает внутренний кэш DNS ClickHouse. Иногда (для старых версий ClickHouse) требуется использовать эту команду при изменении инфраструктуры (изменении IP-адреса другого сервера ClickHouse или сервера, используемого словарями).
Для более удобного (автоматического) управления кэшем смотрите параметры disable_internal_dns_cache
, dns_cache_max_entries
, dns_cache_update_period
.
SYSTEM DROP MARK CACHE
Очищает кэш меток.
SYSTEM DROP ICEBERG METADATA CACHE
Очищает кэш метаданных iceberg.
SYSTEM DROP REPLICA
Мертвые реплики таблиц ReplicatedMergeTree
можно удалить, используя следующий синтаксис:
Запросы удалят путь реплики ReplicatedMergeTree
в ZooKeeper. Это полезно для случаев, когда реплика мертва, и ее метаданные не могут быть удалены из ZooKeeper с помощью DROP TABLE
, потому что такой таблицы больше не существует. Он удалит только неактивную/устаревшую реплику и не может удалить локальную реплику, для этого используйте DROP TABLE
. DROP REPLICA
не удаляет никаких таблиц и не удаляет никаких данных или метаданных с диска.
Первый удаляет метаданные реплики 'replica_name'
таблицы database.table
. Второй делает то же самое для всех реплицированных таблиц в базе данных. Третий делает то же самое для всех реплицированных таблиц на локальном сервере. Четвертый полезен для удаления метаданных мертвой реплики, когда все другие реплики таблицы были удалены. Он требует, чтобы путь к таблице был указан явно. Он должен быть тем же путем, который был передан в первом аргументе движка ReplicatedMergeTree
при создании таблицы.
SYSTEM 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
.
SYSTEM DROP UNCOMPRESSED CACHE
Очищает кэш нежатых данных. Кэш нежатых данных включается/выключается с помощью запроса/параметра уровня пользователя/профиля use_uncompressed_cache
. Его размер можно настроить с помощью настройки на уровне сервера uncompressed_cache_size
.
SYSTEM DROP COMPILED EXPRESSION CACHE
Очищает кэш скомпилированного выражения. Кэш скомпилированного выражения включается/выключается с помощью запроса/параметра уровня пользователя/профиля compile_expressions
.
SYSTEM DROP QUERY CONDITION CACHE
Очищает кэш условий запросов.
SYSTEM DROP QUERY CACHE
Clears the query cache. If a tag is specified, only query cache entries with the specified tag are deleted.
SYSTEM DROP FORMAT SCHEMA CACHE
Clears cache for schemas loaded from format_schema_path
.
Supported targets:
- Protobuf: Removes imported Protobuf message definitions from memory.
- Files: Deletes cached schema files stored locally in the
format_schema_path
, generated whenformat_schema_source
is set toquery
. Note: If no target is specified, both caches are cleared.
SYSTEM FLUSH LOGS
Сбрасывает буферизованные журналы сообщений в системные таблицы, например system.query_log. В основном полезно для отладки, поскольку у большинства системных таблиц есть интервал сброса по умолчанию 7,5 секунд. Это также создаст системные таблицы, даже если очередь сообщений пуста.
Если вы не хотите сбрасывать все, вы можете сбросить один или несколько отдельных журналов, передав либо их имя, либо их целевую таблицу:
SYSTEM RELOAD CONFIG
Перезагружает конфигурацию ClickHouse. Используется, когда конфигурация хранится в ZooKeeper. Обратите внимание, что SYSTEM RELOAD CONFIG
не перезагружает конфигурацию USER
, хранящуюся в ZooKeeper, он только перезагружает конфигурацию USER
, которая хранится в users.xml
. Для перезагрузки всей конфигурации USER
используйте SYSTEM RELOAD USERS
SYSTEM RELOAD USERS
Перезагружает все хранилища доступа, включая: users.xml, доступ к локальному диску, реплицированное (в ZooKeeper) хранилище доступа.
SYSTEM SHUTDOWN
Нормально завершает работу ClickHouse (как service clickhouse-server stop
/ kill {$pid_clickhouse-server}
)
SYSTEM KILL
Прерывает процесс ClickHouse (как kill -9 {$ pid_clickhouse-server}
)
Управление распределенными таблицами
ClickHouse может управлять распределенными таблицами. Когда пользователь вставляет данные в эти таблицы, ClickHouse сначала создает очередь данных, которые должны быть отправлены на узлы кластера, а затем асинхронно отправляет их. Вы можете управлять обработкой очереди с помощью запросов STOP DISTRIBUTED SENDS
, FLUSH DISTRIBUTED и START DISTRIBUTED SENDS
. Вы также можете синхронно вставлять распределенные данные с параметром distributed_foreground_insert
.
SYSTEM STOP DISTRIBUTED SENDS
Отключает фоновое распределение данных при вставке данных в распределенные таблицы.
Если включен prefer_localhost_replica
(по умолчанию), данные будут вставлены в локальный шард в любом случае.
SYSTEM FLUSH DISTRIBUTED
Принуждает ClickHouse синхронно отправлять данные на узлы кластера. Если какие-либо узлы недоступны, ClickHouse выдает исключение и останавливает выполнение запроса. Вы можете повторить запрос, пока он не будет выполнен успешно, что произойдет, когда все узлы будут снова в рабочем состоянии.
Вы также можете переопределить некоторые настройки через клаузу SETTINGS
, это может быть полезно для избежания некоторых временных ограничений, таких как max_concurrent_queries_for_all_users
или max_memory_usage
.
Каждый ожидающий блок сохраняется на диске с настройками из первоначального запроса INSERT, поэтому иногда вам может потребоваться переопределить настройки.
SYSTEM START DISTRIBUTED SENDS
Включает фоновое распределение данных при вставке данных в распределенные таблицы.
SYSTEM STOP LISTEN
Закрывает сокет и корректно завершает существующие соединения с сервером на указанном порту с указанным протоколом.
Однако, если соответствующие настройки протокола не были указаны в конфигурации clickhouse-server, эта команда не будет иметь эффекта.
- Если указан модификатор
CUSTOM 'protocol'
, будет остановлен пользовательский протокол с указанным именем, определенным в разделе протоколов конфигурации сервера. - Если указан модификатор
QUERIES ALL [EXCEPT .. [,..]]
, будут остановлены все протоколы, если они не указаны с клаузойEXCEPT
. - Если указан модификатор
QUERIES DEFAULT [EXCEPT .. [,..]]
, будут остановлены все протоколы по умолчанию, если они не указаны с клаузойEXCEPT
. - Если указан модификатор
QUERIES CUSTOM [EXCEPT .. [,..]]
, будут остановлены все пользовательские протоколы, если они не указаны с клаузойEXCEPT
.
SYSTEM START LISTEN
Позволяет устанавливать новые соединения для указанных протоколов.
Однако, если сервер на указанном порту и протоколе не был остановлен с помощью команды SYSTEM STOP LISTEN, эта команда не будет иметь эффекта.
Управление таблицами MergeTree
ClickHouse может управлять фоновыми процессами в таблицах MergeTree.
SYSTEM STOP MERGES
Предоставляет возможность остановить фоновые слияния для таблиц в семействе MergeTree:
Команда DETACH / ATTACH
для таблицы запустит фоновые слияния для таблицы, даже если ранее слияния были остановлены для всех таблиц MergeTree.
SYSTEM START MERGES
Предоставляет возможность запустить фоновые слияния для таблиц в семействе MergeTree:
SYSTEM STOP TTL MERGES
Предоставляет возможность остановить фоновое удаление старых данных в соответствии с выражением TTL для таблиц в семействе MergeTree:
Возвращает Ok.
, даже если таблица не существует или у таблицы нет движка MergeTree. Возвращает ошибку, когда база данных не существует:
SYSTEM START TTL MERGES
Предоставляет возможность запустить фоновое удаление старых данных в соответствии с выражением TTL для таблиц в семействе MergeTree:
Возвращает Ok.
, даже если таблица не существует. Возвращает ошибку, когда база данных не существует:
SYSTEM STOP MOVES
Предоставляет возможность остановить фоновое перемещение данных в соответствии с выражением TTL таблицы с клаузой TO VOLUME или TO DISK для таблиц в семействе MergeTree:
Возвращает Ok.
, даже если таблица не существует. Возвращает ошибку, когда база данных не существует:
SYSTEM START MOVES
Предоставляет возможность запустить фоновые перемещения данных в соответствии с выражением TTL таблицы с клаузой TO VOLUME и TO DISK для таблиц в семействе MergeTree:
Возвращает Ok.
, даже если таблица не существует. Возвращает ошибку, когда база данных не существует:
SYSTEM SYSTEM UNFREEZE
Очищает замороженную резервную копию с указанным именем со всех дисков. Дополнительную информацию о размораживании отдельных частей см. в ALTER TABLE table_name UNFREEZE WITH NAME
SYSTEM WAIT LOADING PARTS
Ожидание, пока все асинхронно загружаемые части данных таблицы (устаревшие части данных) не будут загружены.
Управление таблицами ReplicatedMergeTree
ClickHouse может управлять фоновыми процессами, связанными с репликацией, в таблицах ReplicatedMergeTree.
SYSTEM STOP FETCHES
Предоставляет возможность остановить фоновые выборки для вставленных частей для таблиц в семействе ReplicatedMergeTree
:
Всегда возвращает Ok.
, независимо от движка таблицы и даже если таблица или база данных не существуют.
SYSTEM START FETCHES
Предоставляет возможность запустить фоновые выборки для вставленных частей для таблиц в семействе ReplicatedMergeTree
:
Всегда возвращает Ok.
, независимо от движка таблицы и даже если таблица или база данных не существуют.
SYSTEM STOP REPLICATED SENDS
Предоставляет возможность остановить фоновые отправки на другие реплики в кластере для вновь вставленных частей таблиц в семействе ReplicatedMergeTree
:
SYSTEM START REPLICATED SENDS
Предоставляет возможность запустить фоновые отправки на другие реплики в кластере для вновь вставленных частей таблиц в семействе ReplicatedMergeTree
:
SYSTEM STOP REPLICATION QUEUES
Предоставляет возможность остановить фоновые задачи выборки из очередей репликации, которые хранятся в Zookeeper для таблиц в семействе ReplicatedMergeTree
. Возможные типы фоновых задач - слияния, выборки, мутации, операторы DDL с клаузой ON CLUSTER:
SYSTEM START REPLICATION QUEUES
Предоставляет возможность запустить фоновые задачи выборки из очередей репликации, которые хранятся в Zookeeper для таблиц в семействе ReplicatedMergeTree
. Возможные типы фоновых задач - слияния, выборки, мутации, операторы DDL с клаузой ON CLUSTER:
SYSTEM STOP PULLING REPLICATION LOG
Останавливает загрузку новых записей из журнала репликации в очередь репликации в таблице ReplicatedMergeTree
.
SYSTEM START PULLING REPLICATION LOG
Отменяет SYSTEM STOP PULLING REPLICATION LOG
.
SYSTEM SYNC REPLICA
Ожидание, пока таблица ReplicatedMergeTree
будет синхронизирована с другими репликами в кластере, но не более receive_timeout
секунд.
После выполнения этого оператора [db.]replicated_merge_tree_family_table_name
выбирает команды из общего реплицированного журнала в свою очередь репликации, а затем запрос ожидания завершает обработку всех выбранных команд. Поддерживаются следующие модификаторы:
- При использовании
IF EXISTS
(доступен с версии 25.6) запрос не выдаст ошибку, если таблица не существует. Это полезно при добавлении новой реплики в кластер, когда она уже является частью конфигурации кластера, но все еще находится в процессе создания и синхронизации таблицы. - Если задан модификатор
STRICT
, то запрос ожидает, пока очередь репликации не станет пустой. ВерсияSTRICT
может никогда не удаться, если новые записи постоянно появляются в очереди репликации. - Если задан модификатор
LIGHTWEIGHT
, запрос ожидает только обработки записейGET_PART
,ATTACH_PART
,DROP_RANGE
,REPLACE_RANGE
иDROP_PART
. Дополнительно модификатор LIGHTWEIGHT поддерживает необязательную клаузу FROM 'srcReplicas', где 'srcReplicas' - это список имен источников реплик, разделенных запятыми. Это расширение позволяет более целенаправленно синхронизировать, сосредоточившись только на задачах репликации, исходящих от указанных реплик. - Если задан модификатор
PULL
, запрос выбирает новые записи очереди репликации из ZooKeeper, но не ожидает обработки.
SYNC DATABASE REPLICA
Ожидает, пока указанная реплицированная база данных применит все изменения схемы из очереди DDL этой базы данных.
Синтаксис
SYSTEM RESTART REPLICA
Предоставляет возможность повторно инициализировать состояние сеанса Zookeeper для таблицы ReplicatedMergeTree
, сравнит текущее состояние с ZooKeeper как источником правды и добавит задачи в очередь ZooKeeper, если это необходимо. Инициализация очереди репликации на основе данных ZooKeeper происходит так же, как и для оператора ATTACH TABLE
. На короткое время таблица будет недоступна для любых операций.
SYSTEM RESTORE REPLICA
Восстанавливает реплику, если данные [возможно] присутствуют, но метаданные ZooKeeper потеряны.
Работает только на таблицах ReplicatedMergeTree
в режиме только для чтения.
Можно выполнить запрос после:
- Утраты корня в ZooKeeper
/
. - Утраты пути реплик
/replicas
. - Утраты индивидуального пути реплики
/replicas/replica_name/
.
Реплика присоединяет локально найденные части и отправляет информацию о них в ZooKeeper. Части, находящиеся на реплике до потери метаданных, не извлекаются из других, если они не устарели (поэтому восстановление реплики не означает повторной загрузки всех данных через сеть).
Части во всех состояниях перемещаются в папку detached/
. Активные части до потери данных (зафиксированные) прикрепляются.
SYSTEM RESTORE DATABASE REPLICA
Восстанавливает реплику, если данные [возможно] присутствуют, но метаданные ZooKeeper потеряны.
Синтаксис
Пример
Синтаксис
Альтернативный синтаксис:
Пример
Создание таблицы на нескольких серверах. После того, как метаданные реплики в ZooKeeper будут потеряны, таблица будет присоединена как только для чтения, так как метаданные отсутствуют. Последний запрос необходимо выполнить на каждой реплике.
Другой способ:
SYSTEM RESTART REPLICAS
Предоставляет возможность повторно инициализировать состояние сеансов Zookeeper для всех таблиц ReplicatedMergeTree
, будет сравнивать текущее состояние с ZooKeeper как источником правды и добавлять задачи в очередь ZooKeeper при необходимости.
SYSTEM DROP FILESYSTEM CACHE
Позволяет очистить файловый кэш.
SYSTEM SYNC FILE CACHE
Это слишком тяжело и имеет потенциал для злоупотреблений.
Выполнит системный вызов синхронизации.
SYSTEM LOAD PRIMARY KEY
Загружает первичные ключи для данной таблицы или для всех таблиц.
SYSTEM UNLOAD PRIMARY KEY
Выгружает первичные ключи для данной таблицы или для всех таблиц.
Управление обновляемыми материализованными представлениями
Команды для управления фоновыми задачами, выполняемыми обновляемыми материализованными представлениями
Следите за system.view_refreshes
при их использовании.
SYSTEM REFRESH VIEW
Запускает немедленное обновление запланированного обновления данного представления.
SYSTEM WAIT VIEW
Ожидает завершения текущего запущенного обновления. Если обновление не удалось, возникает исключение. Если обновление не выполняется, завершается немедленно, вызывая исключение, если предыдущее обновление не удалось.
SYSTEM STOP [REPLICATED] VIEW, STOP VIEWS
Отключает периодическое обновление данного представления или всех обновляемых представлений. Если обновление выполняется, оно также отменяется.
Если представление находится в реплицированной или общей базе данных, STOP VIEW
затрагивает только текущую реплику, в то время как STOP REPLICATED VIEW
влияет на все реплики.
SYSTEM START [REPLICATED] VIEW, START VIEWS
Включает периодическое обновление данного представления или всех обновляемых представлений. Немедленное обновление не запускается.
Если представление находится в реплицированной или общей базе данных, START VIEW
отменяет действие STOP VIEW
, а START REPLICATED VIEW
отменяет действие STOP REPLICATED VIEW
.
SYSTEM CANCEL VIEW
Если для данного представления на текущей реплике выполняется обновление, прерывает и отменяет его. В противном случае ничего не делает.
SYSTEM WAIT VIEW
Ожидает завершения запущенного обновления. Если обновление не выполняется, возвращает немедленно. Если последняя попытка обновления не удалась, сообщает об ошибке.
Может использоваться сразу после создания нового обновляемого материализованного представления (без ключевого слова EMPTY), чтобы дождаться завершения первоначального обновления.
Если представление находится в реплицированной или общей базе данных, и обновление выполняется на другой реплике, ожидает завершения этого обновления.