Операторы SYSTEM
RELOAD EMBEDDED DICTIONARIES
Перезагружает все внутренние словари.
По умолчанию внутренние словари отключены.
Всегда возвращает Ok.
, независимо от результата обновления внутреннего словаря.
RELOAD DICTIONARIES
Перезагружает все словари, которые были ранее успешно загружены.
По умолчанию словари загружаются лениво (см. dictionaries_lazy_load), поэтому вместо автоматической загрузки при старте, они инициализируются при первом доступе через функцию dictGet или SELECT из таблиц с 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 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
Обычно завершает работу 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
Предоставляет возможность остановить фоновое слияние для таблиц в семействе MergeTree:
DETACH / ATTACH
таблицы запустит фоновое слияние для таблицы, даже если слияние было остановлено для всех таблиц MergeTree ранее.
START MERGES
Предоставляет возможность запустить фоновое слияние для таблиц в семействе 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
Предоставляет возможность остановить фоновую загрузку вставленных частей для таблиц в семействе ReplicatedMergeTree
:
Всегда возвращает Ok.
, независимо от движка таблицы и даже если таблица или база данных не существует.
START FETCHES
Предоставляет возможность запустить фоновую загрузку вставленных частей для таблиц в семействе 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 VIEW, STOP VIEWS
Отключает периодическое обновление данного представления или всех обновляемых представлений. Если обновление в процессе, отменяет его тоже.
START VIEW, START VIEWS
Включает периодическое обновление для данного представления или всех обновляемых представлений. Немедленное обновление не запускается.
CANCEL VIEW
Если в данный момент выполняется обновление для данного представления, прерывает и отменяет его. В противном случае ничего не делает.
SYSTEM WAIT VIEW
Ждет завершения выполняющегося обновления. Если обновление не выполняется, возвращает немедленно. Если последняя попытка обновления не удалась, сообщает об ошибке.
Можно использовать сразу после создания нового обновляемого материализованного представления (без ключевого слова EMPTY), чтобы дождаться завершения первичного обновления.