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