PERMANENTLY でデタッチされていない場合、次回サーバーの起動時にサーバーはメタデータを読み込み、そのテーブル/ビュー/Dictionary/データベースを再度認識します。エンティティが PERMANENTLY でデタッチされている場合は、自動的に再度認識されることはありません。
テーブル、Dictionary、またはデータベースが永続的にデタッチされているかどうかにかかわらず、いずれの場合も ATTACH クエリを使用して再アタッチできます。
システムのログテーブルも再アタッチできます (例: query_log、text_log など) 。そのほかのシステムテーブルは再アタッチできません。これらのテーブルは、次回サーバーの起動時にサーバーが再度認識します。
ATTACH MATERIALIZED VIEW は短縮構文 (SELECT なし) では機能しませんが、ATTACH TABLE クエリを使ってアタッチできます。
なお、すでに (一時的に) デタッチされているテーブルを永続的にデタッチすることはできません。ただし、いったん再アタッチしてから、あらためて永続的にデタッチすることはできます。
また、デタッチされたテーブルを DROP したり、永続的にデタッチされたテーブルと同じ名前で CREATE TABLE したり、RENAME TABLE クエリで別のテーブルに置き換えたりすることはできません。
SYNC modifier は、遅延なくアクションを実行します。
例
テーブルを作成します:
Query
Response
Query
Response
ClickHouse Cloud では、
PERMANENTLY 句を使用してください (例: DETACH TABLE <table> PERMANENTLY) 。この句を使用しない場合、アップグレード時などにクラスターが再起動すると、テーブルは再度アタッチされます。