ATTACHクエリを実行すると、サーバーはそのテーブル、Dictionary、またはデータベースの存在を認識します。
テーブルが以前にデタッチされていた (DETACHクエリ) 場合、つまりその構造が既知である場合は、構造を定義せずに短縮記法を使用できます。
既存のテーブルをアタッチ
ATTACH クエリを含むファイルとして保存しており、起動時にそれらをそのまま実行します (ただし一部のシステムテーブルは例外で、サーバー上で明示的に作成されます) 。
テーブルが恒久的にデタッチされている場合、サーバーの起動時に再アタッチされることはないため、ATTACH クエリを明示的に実行する必要があります。
新しいテーブルを作成してデータをアタッチする
テーブルデータへのパスを指定する場合
user_files 内の指定したディレクトリにあるテーブルデータをアタッチします。
構文
Query
Response
指定したテーブル UUID を使用する
MergeTree テーブルを ReplicatedMergeTree として アタッチ
default_replica_path および default_replica_name Settings の値を使って作成されます。レプリケートされたテーブルを通常の MergeTree として アタッチ することも可能です。
このクエリでは、ZooKeeper 内のテーブルデータには影響しない点に注意してください。つまり、アタッチ 後に SYSTEM RESTORE REPLICA を使用して ZooKeeper にメタデータを追加するか、SYSTEM DROP REPLICA ... FROM ZKPATH ... でクリアする必要があります。
既存の ReplicatedMergeTree テーブルにレプリカを追加しようとしている場合は、変換後の MergeTree テーブル内のローカルデータはすべてデタッチされることに注意してください。
構文
Query
Response
Query