Descripción
Contiene información sobre cada tabla en estado desvinculado.
Columnas
database(String) — El nombre de la base de datos en la que se encuentra la tabla.table(String) — Nombre de la tabla.uuid(UUID) — UUID de la tabla (base de datos Atomic).metadata_path(String) — Ruta de los metadatos de la tabla en el sistema de archivos.is_permanently(UInt8) — La tabla quedó desvinculada de forma permanente.
Notas
En DatabaseMySQL y DatabasePostgreSQL, estas bases de datos no son propietarias de los datos subyacentes, que residen en el servidor MySQL/PostgreSQL remoto. Por lo tanto, DROP TABLE en una tabla de uno de estos motores de base de datos se implementa internamente como detachTablePermanently: solo elimina el seguimiento local de la tabla en ClickHouse, y la tabla aparece en system.detached_tables con is_permanently = 1, igual que con un DETACH TABLE PERMANENTLY explícito. Los datos remotos no se modifican. En las bases de datos MySQL/PostgreSQL persistentes, el estado desvinculado se conserva entre reinicios y reconexiones del servidor: DatabaseMySQL almacena un marcador .remove_flag en el directorio de metadatos, mientras que DatabasePostgreSQL almacena un marcador .removed. Ambos se vuelven a cargar mediante loadStoredObjects durante el inicio. La tabla solo vuelve a aparecer si se crea una nueva correspondencia con la base de datos externa sin el directorio de metadatos anterior; por ejemplo, si se eliminan los metadatos o si la base de datos se crea con otro nombre.
Ejemplo
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