メインコンテンツへスキップ

構文

各コマンドの詳細については、“コマンド概要”を参照してください。

ディスク用のバックアップ保存先を設定する

ローカルディスクのバックアップ保存先を設定する

以下の例では、バックアップ保存先は Disk('backups', '1.zip') として指定されています。 Disk バックアップエンジンを使用するには、まず以下のパスに バックアップ保存先を指定するファイルを追加する必要があります。
たとえば、以下の設定では backups という名前のディスクを定義し、そのディスクを backupsallowed_disk リストに追加しています。

S3ディスクのバックアップ保存先を構成する

ClickHouseのストレージ構成でS3ディスクを設定することで、S3へのBACKUP/RESTOREも可能になります。 ローカルディスクで前述したように、/etc/clickhouse-server/config.dにファイルを追加して、次のようにディスクを設定します。
S3ディスクのBACKUP/RESTOREは、ローカルディスクの場合と同様に行います:
  • このディスクは MergeTree 自体には使用せず、BACKUP/RESTORE にのみ使用してください
  • テーブルのバックエンドが S3 storage で、ディスクの種類が異なる場合、 パーツを宛先バケットにコピーする際に CopyObject 呼び出しは使用されず、代わりに ダウンロードしてからアップロードするため、非常に非効率です。この場合、この用途には BACKUP ... TO S3(<endpoint>) 構文を使用することを推奨します。

ローカルディスクへのバックアップ/復元の使用例

テーブルのバックアップと復元

この例でバックアップと復元の対象となるテスト用データベースとテーブルを作成するには、以下のコマンドを実行してください。
データベースとテーブルを作成します。
ランダムデータ 1,000 行を生成して挿入します。
次に、以下のパスに、バックアップ保存先を指定するファイルを作成する必要があります。
clickhouse-server が実行中の場合は、変更を反映するために再起動する必要があります。
テーブルをバックアップするには、次を実行します。
Query
Response
テーブルが空の場合は、次のコマンドでバックアップから復元できます。
Query
Response
上記の RESTORE は、table test.table にデータが含まれている場合は失敗します。 設定 allow_non_empty_tables=true を指定すると、RESTORE TABLE で空でない table にデータを挿入できます。 これにより、table 内の既存データとバックアップから復元されたデータが混在します。 そのため、この設定を使用すると table 内でデータが重複する可能性があるため、注意して使用してください。
すでにデータが入っている table を復元するには、次を実行します。
テーブルは、新しい名前を付けて復元またはバックアップできます:
このバックアップのバックアップアーカイブの構造は、次のとおりです。
zip以外のフォーマットも使用できます。詳細は、以下の”tarアーカイブ形式のバックアップ”を参照してください。

ディスクへの増分バックアップ

ClickHouse におけるベースバックアップとは、後続の 増分バックアップを作成する基準となる最初のフルバックアップです。増分バックアップには、ベースバックアップ以降の 変更分のみが保存されるため、どの増分バックアップからでも 復元できるように、ベースバックアップを利用可能な状態にしておく必要があります。ベースバックアップの保存先は setting base_backup で設定できます。
増分バックアップはベースバックアップに依存します。増分バックアップから 復元できるようにするには、ベースバックアップを利用可能な状態にしておく必要があります。
テーブルの増分バックアップを作成するには、まずベースバックアップを作成します。
増分バックアップとベースバックアップのすべてのデータは、次のコマンドで 新しいテーブル test_db.test_table2 に復元できます。

バックアップの保護

ディスクに書き込まれたバックアップでは、ファイルにパスワードを設定できます。 パスワードは password 設定で指定できます。
パスワード保護は ZIP アーカイブ (.zip.zipx) でのみサポートされています。 パスワードを使用するには、バックアップパスの末尾が .zip または .zipx である必要があります。 tar アーカイブや非アーカイブパスを含む、それ以外のフォーマットでパスワードを使用すると、 BAD_ARGUMENTS エラー: Password is not applicable, backup cannot be encrypted が発生します。
パスワード保護されたバックアップを復元するには、再度 password 設定で パスワードを指定する必要があります。

tar アーカイブ形式のバックアップ

バックアップは、zip アーカイブだけでなく、tar アーカイブとして保存することもできます。 機能は zip の場合と同じですが、tar アーカイブではパスワード保護は サポートされません。さらに、tar アーカイブはさまざまな 圧縮方式に対応しています。 テーブルを tar アーカイブとしてバックアップするには:
tarアーカイブから復元するには:
圧縮方式を変更するには、バックアップ名の末尾に適切なファイル接尾辞を 付ける必要があります。たとえば、tar アーカイブを gzip で圧縮するには、次を実行します:
サポートされている圧縮ファイルの接尾辞は以下のとおりです:
  • tar.gz
  • .tgz
  • tar.bz2
  • tar.lzma
  • .tar.zst
  • .tzst
  • .tar.xz

圧縮設定

圧縮方式と圧縮レベルは、それぞれ設定 compression_methodcompression_level で指定できます。

特定のパーティションを復元する

テーブルに関連付けられた特定のパーティションを復元する必要がある場合は、それらを指定できます。 4 つのパーティションに分かれたシンプルなテーブルを作成し、データを insert してから、 1 番目と 4 番目のパーティションだけをバックアップしてみましょう。
パーティション 1 と 4 をバックアップするには、次のコマンドを実行します。
パーティション 1 と 4 を復元するには、次のコマンドを実行します。
最終更新日 2026年6月12日