データベース・テーブルの復元機能では、PolarDB クラスター内の特定のデータベースまたはテーブルのみを復元でき、その他のデータには一切影響を与えません。たとえば、ゲーム会社のデータベース管理者は、この機能を活用して、単一のプレーヤーまたは複数のプレーヤー向けにデータを個別に復元できます。本トピックでは、利用可能な 2 つの復元方法のうちの 1 つである「バックアップセットからの復元」について説明します。
時刻指定による復元を行う場合は、「」をご参照ください。
仕組み
バックアップセットからの復元では、クラスター内に新しいデータベースまたはテーブルが作成されます。既存のデータは上書きされず、変更もされません。復元プロセス中に、復元されたデータを格納するための新しいデータベース名またはテーブル名を指定してください。
たとえば、db1 のバックアップデータを、新しいデータベース db2 に復元します。復元後のデータを検証した後、必要に応じて元のデータベースへデータを移行します。
復元処理中もクラスターへのアクセスは継続可能です。ただし、処理実行中に CPU 使用率および IOPS が増加することがあります。
制限事項
クラスターに読み取り専用ノードが存在せず、かつテーブル数が 50,000 を超える場合、本機能は利用できません。このような場合は、クラスター全体を新規クラスターへ復元したうえで、必要なデータを移行してください。「復元方法 1」および「」をご参照ください。
インメモリ列指向インデックス (IMCI) は、本機能では復元できません。
テーブル内のトリガーは復元できません。
テーブル内の外部キーは復元できません。
注意事項
復元元としてサポートされるのは、レベル 1 バックアップセットのみです。
選択したテーブルのみが復元されます。開始前に、必要なすべてのテーブルを選択してください。
ターゲットデータベースまたはターゲットテーブル名がクラスター内ですでに存在する場合、復元タスクは失敗します。必ず一意の名前を使用してください。
部分的なデータベース復元の場合、1 回のタスクで最大 100 個のテーブルを復元できます。大量のテーブルを一度に復元すると処理時間が大幅に延長されるため、小規模なバッチに分割するか、フルクラスター復元をご利用ください。
完全なデータベース復元の場合、対象データベース内のすべてのテーブルが復元されます。
テーブル数が 50,000 を超えるクラスター(システムテーブルを含む): この機能はカナリアリリースで利用可能です。有効にするには、お問い合わせください。テーブル数を確認するには:
-- システムテーブルを含む全テーブル数 SELECT COUNT(*) FROM information_schema.tables; -- システムテーブルのみのカウント SELECT COUNT(*) FROM pg_class WHERE oid < 16384 AND relkind = 'r';
バックアップセットからのデータベース・テーブルの復元
PolarDB コンソールにログインします。左側のナビゲーションウィンドウで、クラスター をクリックします。画面左上隅で、対象クラスターのリージョンを選択します。クラスターリストからクラスター ID をクリックし、その基本情報ページへ移動します。
左側のナビゲーションウィンドウで、設定と管理 > バックアップと復元 を選択します。
バックアップと復元 ページで、データベース/テーブルの復元 をクリックします。
ダイアログボックスで、復元タイプ を バックアップセット に設定し、復元元となるバックアップセットを選択します。

復元対象のデータベースおよびテーブル セクションで、左側からデータベースを選択し、右側から復元するテーブルを個別に選択します。
送信先名が指定されていない場合、システムが自動的に元の名前に
_backupを追加します。たとえば、testというテーブルはtest_backupになります。データベースを選択後にテーブルが選択されていない場合、そのデータベース内のすべてのテーブルが復元されます。
OK をクリックします。クラスターは バックアップからの復元中 状態に移行します。復元中もクラスターへのアクセスは可能ですが、CPU 使用率および IOPS が増加する場合があります。
API リファレンス
| 操作 | 説明 |
|---|---|
| DescribeMetaList | 復元可能なデータベースまたはテーブルのメタデータを照会します |
| RestoreTable | PolarDB クラスターのデータベースまたはテーブルを復元します |