Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

system.detached_tables

Descrição

Contém informações sobre cada tabela em estado desanexado.

Colunas

  • database (String) — O nome do banco de dados em que a tabela está.
  • table (String) — Nome da tabela.
  • uuid (UUID) — UUID da tabela (banco de dados atomic).
  • metadata_path (String) — Caminho dos metadados da tabela no sistema de arquivos.
  • is_permanently (UInt8) — A tabela foi desanexada permanentemente.

Notas

No caso de DatabaseMySQL e DatabasePostgreSQL, esses bancos de dados não são proprietários dos dados subjacentes — eles residem no servidor MySQL/PostgreSQL remoto. Como resultado, o DROP TABLE de uma tabela de um desses motores de banco de dados é implementado internamente como detachTablePermanently: ele apenas remove o rastreamento local da tabela no ClickHouse, e a tabela aparece em system.detached_tables com is_permanently = 1, assim como em um DETACH TABLE PERMANENTLY explícito. Os dados remotos permanecem intactos. Para bancos de dados MySQL/PostgreSQL persistentes, o estado desanexado persiste entre reinicializações e reconexões do servidor: DatabaseMySQL armazena um marcador .remove_flag no diretório de metadados, enquanto DatabasePostgreSQL armazena um marcador .removed. Ambos são recarregados por loadStoredObjects na inicialização. A tabela só reaparece se for criado um novo mapeamento de banco de dados externo sem o diretório de metadados antigo — por exemplo, se os metadados forem removidos ou se o banco de dados for criado com outro nome.

Exemplo

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
Navigation