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

SYSTEM RELOAD EMBEDDED DICTIONARIES

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

SYSTEM RELOAD DICTIONARIES

Запрос SYSTEM RELOAD DICTIONARIES перезагружает словари со status LOADED (см. столбец status в system.dictionaries), то есть словари, которые ранее уже были успешно загружены. По умолчанию словари загружаются лениво (см. dictionaries_lazy_load), поэтому вместо автоматической загрузки при запуске они инициализируются при первом обращении — через функцию dictGet или при выполнении SELECT из таблиц с ENGINE = Dictionary. Синтаксис
SYSTEM RELOAD DICTIONARIES [ON CLUSTER cluster_name]

SYSTEM RELOAD DICTIONARY

Полностью перезагружает словарь dictionary_name независимо от его состояния (LOADED / NOT_LOADED / FAILED). Всегда возвращает Ok. независимо от результата обновления словаря.
SYSTEM RELOAD DICTIONARY [ON CLUSTER cluster_name] dictionary_name
Статус словаря можно проверить, выполнив запрос к таблице system.dictionaries.
SELECT name, status FROM system.dictionaries;

SYSTEM RELOAD MODELS

Этот оператор и SYSTEM RELOAD MODEL лишь выгружают модели CatBoost из clickhouse-library-bridge. Функция catboostEvaluate() загружает модель при первом обращении, если она ещё не загружена.
Выгружает все модели CatBoost. Синтаксис
SYSTEM RELOAD MODELS [ON CLUSTER cluster_name]

SYSTEM RELOAD MODEL

Выгружает модель CatBoost из model_path. Синтаксис
SYSTEM RELOAD MODEL [ON CLUSTER cluster_name] <model_path>

SYSTEM RELOAD FUNCTIONS

Перезагружает все зарегистрированные исполняемые пользовательские функции или одну из них из файла конфигурации. Синтаксис
SYSTEM RELOAD FUNCTIONS [ON CLUSTER cluster_name]
SYSTEM RELOAD FUNCTION [ON CLUSTER cluster_name] function_name

SYSTEM RELOAD ASYNCHRONOUS METRICS

Пересчитывает все асинхронные метрики. Поскольку асинхронные метрики периодически обновляются в соответствии с настройкой asynchronous_metrics_update_period_s, вручную обновлять их с помощью этого оператора обычно не нужно.
SYSTEM RELOAD ASYNCHRONOUS METRICS [ON CLUSTER cluster_name]

SYSTEM CLEAR|DROP DNS CACHE

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

SYSTEM CLEAR|DROP MARK CACHE

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

SYSTEM CLEAR|DROP ICEBERG METADATA CACHE

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

SYSTEM CLEAR|DROP AVRO SCHEMA CACHE

Очищает кэши Confluent Schema Registry для каждого URL, используемые форматом AvroConfluent. Эта команда удаляет как кэш получения схем (id → схема), так и кэш регистрации схем (subject + схема → id), поэтому последующие операции чтения и записи снова будут обращаться к серверу Schema Registry. Полезно, если схема была удалена или перезаписана на стороне реестра, а также для проверки идемпотентности реестра в тестах.

SYSTEM DROP PARQUET METADATA CACHE

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

SYSTEM CLEAR|DROP TEXT INDEX CACHES

Очищает кэши заголовка, словаря и списков вхождений текстового индекса. Если вы хотите очистить один из этих кэшей отдельно, можно выполнить
  • SYSTEM CLEAR TEXT INDEX HEADER CACHE,
  • SYSTEM CLEAR TEXT INDEX DICTIONARY CACHE или
  • SYSTEM CLEAR TEXT INDEX POSTINGS CACHE

SYSTEM DROP REPLICA

Недоступные реплики таблиц ReplicatedMergeTree можно удалить с помощью следующего синтаксиса:
SYSTEM DROP REPLICA 'replica_name' FROM TABLE database.table;
SYSTEM DROP REPLICA 'replica_name' FROM DATABASE database;
SYSTEM DROP REPLICA 'replica_name';
SYSTEM DROP REPLICA 'replica_name' FROM ZKPATH '/path/to/table/in/zk';
Запросы удаляют путь реплики ReplicatedMergeTree в ZooKeeper. Это полезно, когда реплика недоступна, а ее метаданные невозможно удалить из ZooKeeper с помощью DROP TABLE, потому что такой таблицы уже не существует. Удалить можно только неактивную/устаревшую реплику; локальную реплику удалить нельзя, для этого используйте DROP TABLE. DROP REPLICA не удаляет никаких таблиц и не удаляет с диска ни данные, ни метаданные. Первый удаляет метаданные реплики 'replica_name' таблицы database.table. Второй делает то же самое для всех реплицируемых таблиц в базе данных. Третий делает то же самое для всех реплицируемых таблиц на локальном сервере. Четвертый полезен для удаления метаданных недоступной реплики, когда все остальные реплики таблицы были удалены. Для него нужно явно указать путь к таблице. Это должен быть тот же путь, который был передан в качестве первого аргумента движка ReplicatedMergeTree при создании таблицы.

SYSTEM DROP DATABASE REPLICA

Неработающие реплики баз данных Replicated можно удалить с помощью следующего синтаксиса:
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'] FROM DATABASE database;
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'];
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'] FROM ZKPATH '/path/to/table/in/zk';
Подобно 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 CLEAR|DROP UNCOMPRESSED CACHE

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

SYSTEM CLEAR|DROP COMPILED EXPRESSION CACHE

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

SYSTEM CLEAR|DROP QUERY CONDITION CACHE

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

SYSTEM CLEAR|DROP КЭШ ЗАПРОСОВ

SYSTEM CLEAR QUERY CACHE;
SYSTEM CLEAR QUERY CACHE TAG '<tag>'
Очищает кэш запросов. Если указана метка, удаляются только записи кэша запросов с этой меткой.

SYSTEM CLEAR|DROP FORMAT SCHEMA CACHE

Очищает кэш для схем, загруженных из format_schema_path. Поддерживаемые цели:
  • Protobuf: удаляет импортированные определения сообщений Protobuf из памяти.
  • Files: удаляет кэшированные файлы схем, хранящиеся локально в format_schema_path и создаваемые, когда format_schema_source имеет значение query. Примечание: если цель не указана, очищаются оба кэша.
SYSTEM CLEAR|DROP FORMAT SCHEMA CACHE [FOR Protobuf/Files]

SYSTEM FLUSH LOGS

Сбрасывает буферизованные сообщение лога в системные таблицы, например system.query_log. В основном полезно для отладки, поскольку для большинства системных таблиц интервал сброса по умолчанию составляет 7,5 секунды. Также создаёт системные таблицы, даже если очередь сообщений пуста.
SYSTEM FLUSH LOGS [ON CLUSTER cluster_name] [log_name|[database.table]] [, ...]
Если не нужно сбрасывать всё, можно сбросить один или несколько отдельных журналов, указав либо их имя, либо соответствующую целевую таблицу:
SYSTEM FLUSH LOGS query_log, system.query_views_log;

SYSTEM RELOAD CONFIG

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

SYSTEM RELOAD USERS

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

SYSTEM SHUTDOWN

Обычно останавливает ClickHouse (как service clickhouse-server stop / kill {$pid_clickhouse-server})

SYSTEM KILL

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

SYSTEM INSTRUMENT

Управляет точками инструментирования с помощью возможности XRay в LLVM, доступной при сборке ClickHouse с ENABLE_XRAY=1. Это позволяет выполнять отладку и профилирование в продакшне без изменения исходного кода и с минимальными накладными расходами. Если не добавлена ни одна точка инструментирования, потери производительности пренебрежимо малы, поскольку добавляется лишь дополнительный переход на ближайший адрес в прологе и эпилоге тех функций, которые длиннее 200 инструкций.

SYSTEM INSTRUMENT ADD

Добавляет новую точку инструментирования. Функции, для которых включено инструментирование, можно просматривать в системной таблице system.instrumentation. Для одной и той же функции можно добавить несколько обработчиков, и они будут выполняться в порядке добавления. Функции для инструментирования можно получить из системной таблицы system.symbols. Существует три типа обработчиков, которые можно добавить к функциям: Синтаксис
SYSTEM INSTRUMENT ADD FUNCTION HANDLER [PARAMETERS]
где FUNCTION — это любая функция или её подстрока, например QueryMetricLog::startQuery, а обработчик — один из следующих

LOG

Выводит текст, переданный в качестве аргумента, и трассировку стека при ENTRY или EXIT функции.
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' LOG ENTRY 'this is a log printed at entry'
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' LOG EXIT 'this is a log printed at exit'

SLEEP

Приостанавливает выполнение на фиксированное количество секунд либо при ENTRY, либо при EXIT:
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0.5
или для случайного числа секунд с равномерным распределением, указав минимальное и максимальное значения через пробел:
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0 1

PROFILE

Измеряет время, затраченное между ENTRY и EXIT при выполнении функции. Результат профилирования сохраняется в system.trace_log и может быть преобразован в формат трассировки событий Chrome.
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' PROFILE

SYSTEM INSTRUMENT REMOVE

Удаляет либо одну точку инструментирования с помощью:
SYSTEM INSTRUMENT REMOVE ID
все их с помощью параметра ALL:
SYSTEM INSTRUMENT REMOVE ALL
набор идентификаторов из подзапроса:
SYSTEM INSTRUMENT REMOVE (SELECT id FROM system.instrumentation WHERE handler = 'log')
или все точки инструментирования, соответствующие указанному function_name:
SYSTEM INSTRUMENT REMOVE 'QueryMetricLog::startQuery'
Информацию о точках инструментирования можно получить из системной таблицы system.instrumentation.

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

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

SYSTEM STOP DISTRIBUTED SENDS

Отключает фоновое распределение данных при вставке в distributed-таблицы.
SYSTEM STOP DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]
Если параметр prefer_localhost_replica включен (по умолчанию), данные всё равно будут вставлены в локальный сегмент.

SYSTEM FLUSH DISTRIBUTED

Принудительно заставляет ClickHouse синхронно отправлять данные на узлы кластера. Если какие-либо узлы недоступны, ClickHouse генерирует исключение и останавливает выполнение запроса. Вы можете повторять запрос, пока он не завершится успешно; это произойдёт, когда все узлы снова будут в сети. Вы также можете переопределить некоторые настройки с помощью предложения SETTINGS; это может быть полезно, чтобы обойти временные ограничения, например max_concurrent_queries_for_all_users или max_memory_usage.
SYSTEM FLUSH DISTRIBUTED [db.]<distributed_table_name> [ON CLUSTER cluster_name] [SETTINGS ...]
Каждый блок, ожидающий отправки, хранится на диске с настройками из исходного запроса INSERT, поэтому иногда может понадобиться переопределить эти настройки.

SYSTEM START DISTRIBUTED SENDS

Включает фоновую отправку данных при вставке в distributed таблицы.
SYSTEM START DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]

SYSTEM STOP LISTEN

Закрывает сокет и корректно завершает существующие соединения с сервером на указанном порту по указанному протоколу. Однако, если соответствующие настройки протокола не были указаны в конфигурации clickhouse-server, эта команда не даст никакого эффекта.
SYSTEM STOP LISTEN [ON CLUSTER cluster_name] [QUERIES ALL | QUERIES DEFAULT | QUERIES CUSTOM | TCP | TCP WITH PROXY | TCP SECURE | HTTP | HTTPS | MYSQL | GRPC | POSTGRESQL | PROMETHEUS | CUSTOM 'protocol']
  • Если указан модификатор CUSTOM 'protocol', будет остановлен пользовательский протокол с указанным именем, определённый в разделе protocols конфигурации сервера.
  • Если указан модификатор QUERIES ALL [EXCEPT .. [,..]], будут остановлены все протоколы, кроме указанных в предложении EXCEPT.
  • Если указан модификатор QUERIES DEFAULT [EXCEPT .. [,..]], будут остановлены все протоколы по умолчанию, кроме указанных в предложении EXCEPT.
  • Если указан модификатор QUERIES CUSTOM [EXCEPT .. [,..]], будут остановлены все пользовательские протоколы, кроме указанных в предложении EXCEPT.

SYSTEM START LISTEN

Позволяет устанавливать новые соединения по указанным протоколам. Однако если сервер на указанном порту и по указанному протоколу не был остановлен с помощью команды SYSTEM STOP LISTEN, эта команда не возымеет никакого эффекта.
SYSTEM START LISTEN [ON CLUSTER cluster_name] [QUERIES ALL | QUERIES DEFAULT | QUERIES CUSTOM | TCP | TCP WITH PROXY | TCP SECURE | HTTP | HTTPS | MYSQL | GRPC | POSTGRESQL | PROMETHEUS | CUSTOM 'protocol']

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

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

SYSTEM STOP MERGES

Позволяет остановить фоновые слияния для таблиц семейства MergeTree:
SYSTEM STOP MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]
DETACH / ATTACH для таблицы запустит фоновые слияния, даже если ранее они были остановлены для всех таблиц MergeTree.

SYSTEM START MERGES

Позволяет запускать фоновые слияния для таблиц семейства MergeTree:
SYSTEM START MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]

SYSTEM STOP TTL MERGES

Позволяет остановить фоновое удаление старых данных в соответствии с TTL expression для таблиц семейства MergeTree: Возвращает Ok. даже если таблица не существует или не использует движок MergeTree. Возвращает ошибку, если база данных не существует:
SYSTEM STOP TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

SYSTEM START TTL MERGES

Позволяет запустить фоновое удаление старых данных в соответствии с TTL expression для таблиц семейства MergeTree: Возвращает Ok. даже если таблица не существует. Возвращает ошибку, если база данных не существует:
SYSTEM START TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

SYSTEM STOP MOVES

Позволяет остановить фоновое перемещение данных в соответствии с TTL-выражением таблицы с клаузой TO VOLUME или TO DISK для таблиц семейства MergeTree: Возвращает Ok., даже если таблица не существует. Возвращает ошибку, если база данных не существует:
SYSTEM STOP MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

SYSTEM START MOVES

Позволяет запускать фоновое перемещение данных в соответствии с TTL-выражением таблицы с клаузами TO VOLUME и TO DISK для таблиц семейства MergeTree: Возвращает Ok. даже если таблица не существует. Возвращает ошибку, если база данных не существует:
SYSTEM START MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

SYSTEM SYSTEM UNFREEZE

Удаляет замороженную резервную копию с указанным именем со всех дисков. Подробнее о разморозке отдельных частей см. в ALTER TABLE table_name UNFREEZE WITH NAME
SYSTEM UNFREEZE WITH NAME <backup_name>

SYSTEM WAIT LOADING PARTS

Ожидает завершения загрузки всех асинхронно загружаемых частей данных таблицы (устаревших частей данных).
SYSTEM WAIT LOADING PARTS [ON CLUSTER cluster_name] [db.]merge_tree_family_table_name

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

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

SYSTEM STOP FETCHES

Позволяет остановить фоновую загрузку вставленных частей для таблиц семейства ReplicatedMergeTree: Всегда возвращает Ok. независимо от движка таблицы, даже если таблица или база данных не существуют.
SYSTEM STOP FETCHES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM START FETCHES

Позволяет запускать фоновые загрузки вставленных частей для таблиц семейства ReplicatedMergeTree: Всегда возвращает Ok. независимо от движка таблицы, даже если таблица или база данных не существуют.
SYSTEM START FETCHES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM STOP REPLICATED SENDS

Позволяет остановить фоновую отправку другим репликам в кластере новых частей, создаваемых при вставке данных, для таблиц семейства ReplicatedMergeTree:
SYSTEM STOP REPLICATED SENDS [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM START REPLICATED SENDS

Позволяет запустить фоновую отправку новых вставленных частей таблиц семейства ReplicatedMergeTree на другие реплики в кластере:
SYSTEM START REPLICATED SENDS [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM STOP REPLICATION QUEUES

Позволяет остановить фоновые задачи загрузки из очередей репликации, хранящихся в Zookeeper, для таблиц семейства ReplicatedMergeTree. Возможные типы фоновых задач: слияние, загрузка, мутация, DDL-операторы с предложением ON CLUSTER:
SYSTEM STOP REPLICATION QUEUES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM START REPLICATION QUEUES

Позволяет запускать фоновые задачи загрузки из очередей репликации, хранящихся в Zookeeper, для таблиц семейства ReplicatedMergeTree. Возможные типы фоновых задач — слияния, загрузки, мутации, DDL-операторы с предложением ON CLUSTER:
SYSTEM START REPLICATION QUEUES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM STOP PULLING REPLICATION LOG

Останавливает загрузку новых записей из журнала репликации в очередь репликации таблицы ReplicatedMergeTree.
SYSTEM STOP PULLING REPLICATION LOG [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM START PULLING REPLICATION LOG

Отменяет действие SYSTEM STOP PULLING REPLICATION LOG.
SYSTEM START PULLING REPLICATION LOG [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM SYNC REPLICA

Ожидать, пока таблица ReplicatedMergeTree синхронизируется с другими репликами в кластере, но не дольше receive_timeout секунд.
SYSTEM SYNC REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name [IF EXISTS] [STRICT | LIGHTWEIGHT [FROM 'srcReplica1'[, 'srcReplica2'[, ...]]] | PULL]
После выполнения этого оператора [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

Ожидает, пока указанная база данных Replicated не применит все изменения схемы из очереди DDL этой базы данных. Синтаксис
SYSTEM SYNC DATABASE REPLICA replicated_database_name;

SYSTEM RESTART REPLICA

Позволяет повторно инициализировать состояние сеанса ZooKeeper для таблицы ReplicatedMergeTree: текущее состояние будет сверено с ZooKeeper как с источником истины, и при необходимости в очередь ZooKeeper будут добавлены задачи. Инициализация очереди репликации на основе данных ZooKeeper выполняется так же, как и для оператора ATTACH TABLE. На короткое время таблица будет недоступна для выполнения любых операций.
SYSTEM RESTART REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name

SYSTEM RESTORE REPLICA

Восстанавливает реплику, если данные [возможно] присутствуют, но метаданные ZooKeeper утеряны. Работает только с таблицами ReplicatedMergeTree в режиме только для чтения. Запрос можно выполнить после:
  • Потери корневого пути ZooKeeper /.
  • Потери пути реплик /replicas.
  • Потери пути отдельной реплики /replicas/replica_name/.
Реплика подключает найденные локально части и отправляет информацию о них в ZooKeeper. Части, присутствовавшие на реплике до потери метаданных, не загружаются повторно с других реплик, если они не устарели (то есть восстановление реплики не означает повторную загрузку всех данных по сети).
Части во всех состояниях перемещаются в папку detached/. Части, которые были активны до потери данных (committed), подключаются.

SYSTEM RESTORE DATABASE REPLICA

Восстанавливает реплику, если данные [возможно] сохранились, но метаданные ZooKeeper утеряны. Синтаксис
SYSTEM RESTORE DATABASE REPLICA repl_db [ON CLUSTER cluster]
Пример
CREATE DATABASE repl_db
ENGINE=Replicated("/clickhouse/repl_db", shard1, replica1);

CREATE TABLE repl_db.test_table (n UInt32)
ENGINE = ReplicatedMergeTree
ORDER BY n PARTITION BY n % 10;

-- zookeeper_delete_path("/clickhouse/repl_db", recursive=True) <- потеря корневого узла.

SYSTEM RESTORE DATABASE REPLICA repl_db;
Синтаксис
SYSTEM RESTORE REPLICA [db.]replicated_merge_tree_family_table_name [ON CLUSTER cluster_name]
Альтернативный синтаксис:
SYSTEM RESTORE REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name
Пример Создание таблицы на нескольких серверах. Если метаданные реплики в ZooKeeper утеряны, таблица подключится в режиме только для чтения, поскольку метаданные отсутствуют. Последний запрос нужно выполнить на каждой реплике.
CREATE TABLE test(n UInt32)
ENGINE = ReplicatedMergeTree('/clickhouse/tables/test/', '{replica}')
ORDER BY n PARTITION BY n % 10;

INSERT INTO test SELECT * FROM numbers(1000);

-- zookeeper_delete_path("/clickhouse/tables/test", recursive=True) <- потеря корня.

SYSTEM RESTART REPLICA test;
SYSTEM RESTORE REPLICA test;
Ещё один способ:
SYSTEM RESTORE REPLICA test ON CLUSTER cluster;

SYSTEM RESTART REPLICAS

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

SYSTEM CLEAR|DROP FILESYSTEM CACHE

Позволяет сбросить файловый кэш.
SYSTEM CLEAR FILESYSTEM CACHE [ON CLUSTER cluster_name]

SYSTEM SYNC FILE CACHE

Это слишком затратная операция и может использоваться не по назначению.
Выполняет системный вызов sync.
SYSTEM SYNC FILE CACHE [ON CLUSTER cluster_name]

SYSTEM LOAD PRIMARY KEY

Загружает первичные ключи для указанной таблицы или для всех таблиц.
SYSTEM LOAD PRIMARY KEY [db.]name
SYSTEM LOAD PRIMARY KEY

SYSTEM UNLOAD PRIMARY KEY

Выгружает первичные ключи для указанной таблицы или всех таблиц.
SYSTEM UNLOAD PRIMARY KEY [db.]name
SYSTEM UNLOAD PRIMARY KEY

Управление Refreshable Materialized Views

Команды для управления фоновыми задачами, выполняемыми Refreshable Materialized Views При работе с ними отслеживайте system.view_refreshes.

SYSTEM STOP [REPLICATED] VIEW, STOP VIEWS

Останавливает периодическое обновление указанного представления или всех обновляемых представлений. Если обновление уже выполняется, оно также будет отменено. Если представление находится в базе данных Replicated или Shared, STOP VIEW действует только на текущую реплику, а STOP REPLICATED VIEW — на все реплики.
Состояние остановки не сохраняется после перезапуска сервера. После перезапуска представления возобновят обновление в соответствии с настроенным для них расписанием. В базах данных Replicated или Shared SYSTEM STOP VIEW действует только на текущую реплику. Чтобы остановить обновления на всех репликах, используйте SYSTEM STOP REPLICATED VIEW.
SYSTEM STOP VIEW [db.]name
SYSTEM STOP VIEWS

SYSTEM START [REPLICATED] VIEW, START VIEWS

Включает периодическое обновление для указанного представления или для всех обновляемых представлений. Немедленное обновление не запускается. Если представление находится в базе данных Replicated или Shared, START VIEW отменяет действие STOP VIEW, а START REPLICATED VIEW — действие STOP REPLICATED VIEW. START VIEW также отменяет действие PAUSE VIEW.
SYSTEM START VIEW [db.]name
SYSTEM START VIEWS

SYSTEM PAUSE VIEW, PAUSE VIEWS

Отключает периодическое обновление указанного представления или всех обновляемых представлений. В отличие от SYSTEM STOP VIEW, команда SYSTEM PAUSE VIEW не прерывает уже выполняющееся обновление: текущему обновлению даётся завершиться, а предотвращаются только последующие обновления. Отменить это действие можно с помощью SYSTEM START VIEW или SYSTEM START VIEWS.
Состояние паузы не сохраняется после перезапуска сервера. После перезапуска представления возобновят обновление по настроенному расписанию. В базах данных Replicated или Shared команда SYSTEM PAUSE VIEW влияет только на текущую реплику.
SYSTEM PAUSE VIEW [db.]name
SYSTEM PAUSE VIEWS

SYSTEM REFRESH VIEW

Немедленно запускает внеплановое обновление указанного представления.
SYSTEM REFRESH VIEW [db.]name

SYSTEM WAIT VIEW

Ожидает завершения текущего обновления. Если обновление не выполняется, команда сразу возвращает результат. Если последняя попытка обновления завершилась неудачей, возвращается ошибка. Можно использовать сразу после создания нового refreshable materialized view (без ключевого слова EMPTY), чтобы дождаться завершения первоначального обновления. Если представление находится в базе данных Replicated или Shared и обновление выполняется на другой реплике, команда ожидает завершения этого обновления.
SYSTEM WAIT VIEW [db.]name

SYSTEM CANCEL VIEW

Если на текущей реплике для указанного представления выполняется обновление, прервите его и отмените. В противном случае ничего не произойдет.
SYSTEM CANCEL VIEW [db.]name

SYSTEM FLUSH OBJECT STORAGE QUEUE

Блокирует выполнение до тех пор, пока указанный файл не будет обработан указанной таблицей S3Queue или AzureQueue, либо пока для него не будет зафиксирована необратимая ошибка. Если файл уже был обработан, управление возвращается немедленно. Вызывает ошибку, если обработка файла завершилась необратимой ошибкой (все повторные попытки исчерпаны).
SYSTEM FLUSH OBJECT STORAGE QUEUE [db.]table_name PATH 'path'
Последнее изменение 10 июня 2026 г.