Команда DETACH
Заставляет сервер "забыть" о существовании таблицы, материализованного представления, словаря или базы данных.
Синтаксис
Отключение не удаляет данные или метаданные таблицы, материализованного представления, словаря или базы данных. Если сущность не была отключена PERMANENTLY
, при следующем запуске сервера он прочитает метаданные и вновь вспомнит таблицу/представление/словарь/базу данных. Если сущность была отключена PERMANENTLY
, автоматического вспоминания не будет.
Независимо от того, была ли таблица, словарь или база данных отключены навсегда или нет, в обоих случаях вы можете повторно подключить их с помощью запроса ATTACH. Системные таблицы журналов также могут быть повторно подключены (например, query_log
, text_log
и т.д.). Другие системные таблицы нельзя повторно подключить. При следующем запуске сервера он снова вспомнит эти таблицы.
ATTACH MATERIALIZED VIEW
не работает с коротким синтаксисом (без SELECT
), но вы можете прикрепить его с помощью запроса ATTACH TABLE
.
Обратите внимание, что вы не можете отключить навсегда таблицу, которая уже была отключена (временно). Но вы можете повторно подключить ее, а затем снова отключить навсегда.
Также вы не можете DROP отключенную таблицу, или CREATE TABLE с тем же именем, что и отключенная навсегда, или заменить ее другой таблицей с помощью запроса RENAME TABLE.
Модификатор SYNC
выполняет действие без задержки.
Пример
Создание таблицы:
Запрос:
Результат:
Отключение таблицы:
Запрос:
Результат:
В ClickHouse Cloud пользователи должны использовать оператор PERMANENTLY
, например DETACH TABLE <table> PERMANENTLY
. Если этот оператор не используется, таблицы будут повторно подключены при перезапуске кластера, например, во время обновлений.
См. Также