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

Команда ATTACH

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

Синтаксис

Запрос не создает данные на диске, а предполагает, что данные уже находятся в соответствующих местах, и просто добавляет информацию о указанной таблице, словаре или базе данных на сервер. После выполнения запроса ATTACH сервер будет знать о существовании таблицы, словаря или базы данных.

Если таблица ранее была отсоединена (запрос DETACH), то есть её структура известна, вы можете использовать короткую форму без определения структуры.

Прикрепить Существующую Таблицу

Синтаксис

Этот запрос используется при запуске сервера. Сервер хранит метаданные таблицы в виде файлов с запросами ATTACH, которые он просто выполняет при запуске (за исключением некоторых системных таблиц, которые создаются на сервере явно).

Если таблица была отсоединена навсегда, она не будет повторно прикреплена при запуске сервера, поэтому нужно использовать запрос ATTACH явно.

Создать Новую Таблицу И Прикрепить Данные

С Указанным Путем К Данные Таблицы

Запрос создает новую таблицу с предоставленной структурой и прикрепляет данные таблицы из указанного каталога в user_files.

Синтаксис

Пример

Запрос:

Результат:

С Указанным UUID Таблицы

Этот запрос создает новую таблицу с предоставленной структурой и прикрепляет данные из таблицы с указанным UUID. Это поддерживается движком баз данных Atomic.

Синтаксис

Прикрепить Таблицу MergeTree Как ReplicatedMergeTree

Позволяет прикрепить нереплицированную таблицу MergeTree как ReplicatedMergeTree. Таблица ReplicatedMergeTree будет создана с использованием значений настроек default_replica_path и default_replica_name. Также возможно прикрепить реплицированную таблицу как обычную MergeTree.

Обратите внимание, что данные таблицы в ZooKeeper не затрагиваются в этом запросе. Это означает, что вам нужно добавить метаданные в ZooKeeper, используя SYSTEM RESTORE REPLICA, или очистить их с помощью SYSTEM DROP REPLICA ... FROM ZKPATH ... после прикрепления.

Если вы пытаетесь добавить реплику к существующей таблице ReplicatedMergeTree, имейте в виду, что все локальные данные в преобразованной таблице MergeTree будут отсоединены.

Синтаксис

Преобразовать таблицу в реплицированную

Преобразовать таблицу в нереплицированную

Получите путь ZooKeeper и имя реплики для таблицы:

Результат:

Прикрепите таблицу как нереплицированную и удалите данные реплики из ZooKeeper:

Прикрепить Существующий Словарь

Прикрепляет ранее отсоединенный словарь.

Синтаксис

Прикрепить Существующую Базу Данных

Прикрепляет ранее отсоединенную базу данных.

Синтаксис