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

Команда 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. Если этот оператор не используется, таблицы будут повторно подключены при перезапуске кластера, например, во время обновлений.

См. Также