Описание
Содержит сведения о каждой отсоединённой таблице.
Столбцы
database(String) — Имя базы данных, в которой находится таблица.table(String) — Имя таблицы.uuid(UUID) — UUID таблицы (база данных Atomic).metadata_path(String) — Путь к метаданным таблицы в файловой системе.is_permanently(UInt8) — Таблица отсоединена навсегда.
Примечания
В DatabaseMySQL и DatabasePostgreSQL данные хранятся не в самой базе данных, а на удалённом сервере MySQL/PostgreSQL. Поэтому операция DROP TABLE для таблицы из одной из этих баз данных внутренне реализуется как detachTablePermanently: она лишь удаляет локальную информацию ClickHouse об отслеживании таблицы, а сама таблица отображается в system.detached_tables с is_permanently = 1, как и при явном DETACH TABLE PERMANENTLY. Удалённые данные при этом не затрагиваются. Для постоянных баз данных MySQL/PostgreSQL состояние отсоединённой таблицы сохраняется после перезапусков сервера и повторных подключений: DatabaseMySQL сохраняет маркер .remove_flag в каталоге метаданных, а DatabasePostgreSQL — маркер .removed. При запуске оба маркера повторно загружаются функцией loadStoredObjects. Таблица вновь появляется только при создании нового сопоставления с внешней базой данных без старого каталога метаданных — например, если метаданные удалены или база данных создана под другим именем.
Пример
SELECT * FROM system.detached_tables FORMAT Vertical;Row 1:
──────
database: base
table: t1
uuid: 81b1c20a-b7c6-4116-a2ce-7583fb6b6736
metadata_path: /var/lib/clickhouse/store/461/461cf698-fd0b-406d-8c01-5d8fd5748a91/t1.sql
is_permanently: 1