説明
カラム
database(String) — テーブルが属するデータベースの名前。table(String) — テーブル名。uuid(UUID) — テーブルの uuid (Atomic データベース) 。metadata_path(String) — ファイルシステム内のテーブルのメタデータへのパス。is_permanently(UInt8) — テーブルが永続的にデタッチされたかどうか。
注記
DatabaseMySQL と DatabasePostgreSQL では、基盤となるデータはこれらのデータベースではなく、リモートの MySQL/PostgreSQL サーバーに存在します。そのため、これらのデータベースエンジンのテーブルに対する DROP TABLE は、内部的には detachTablePermanently として実装されています。これは ClickHouse によるテーブルのローカルな追跡情報のみを削除するものであり、明示的な DETACH TABLE PERMANENTLY と同様に、テーブルは is_permanently = 1 を伴って system.detached_tables に表示されます。リモートデータ自体は変更されません。永続的な MySQL/PostgreSQL データベースでは、デタッチ状態はサーバーの再起動や再接続後も維持されます。DatabaseMySQL はメタデータディレクトリに .remove_flag マーカーを保存し、DatabasePostgreSQL は .removed マーカーを保存します。どちらも起動時に loadStoredObjects によって再読み込みされます。古いメタデータディレクトリを使用せずに新しい外部データベースマッピングが作成された場合にのみ、テーブルは再表示されます。たとえば、メタデータが削除された場合や、異なる名前でデータベースが作成された場合です。