AlloyDB Omni は PostgreSQL と互換性があるため、Barman マニュアルで説明されているデータ復元コマンドと手法は AlloyDB Omni にも適用されます。このページでは、一連の一般的な復元タスクと、各タスクに関連するコマンドの例を示します。
AlloyDB Omni で動作するように Barman を構成する方法については、AlloyDB Omni 用に Barman を設定するをご覧ください。
始める前に
AlloyDB Omni データを復元する前に、次のものが必要です。
- ソース データベース サーバーと同じメジャー バージョンの AlloyDB Omni を実行しているターゲット データベース サーバー。AlloyDB Omni のインストールの詳細については、AlloyDB Omni をインストールするをご覧ください。 - ターゲット サーバーは、ソースサーバーと同じマシンにできます。 
- ターゲット サーバーにインストールされている - rsyncユーティリティ。
- ソースの AlloyDB Omni データベースの有効な Barman バックアップが 1 つ以上存在する Barman バックアップ サーバー。 
- Barman バックアップ サーバーとターゲット サーバー間の SSH 接続性。 
- Barman サーバー上の - barmanユーザーが、ターゲット サーバーでパスワードなしで- postgresユーザーとして認証されるように設定した SSH 認証鍵。
- 復元されたデータベースを保持するのに十分な空きディスク容量がターゲット サーバーに存在すること。 
特定のバックアップを使用して復元する
- ターゲット サーバーで AlloyDB Omni を停止します。 - Docker- docker stop CONTAINER_NAME- CONTAINER_NAMEは、AlloyDB Omni コンテナのインストール時に割り当てた名前に置き換えます(例:- my-omni)。- Podman- podman stop CONTAINER_NAME- CONTAINER_NAMEは、AlloyDB Omni コンテナのインストール時に割り当てた名前に置き換えます(例:- my-omni)。
- Barman サーバーで、復元するバックアップを選択します。使用可能なバックアップを表示するには、 - barman list-backupsコマンドを実行します。特定のバックアップの詳細を表示するには、- barman show-backupコマンドを実行します。
- 選択したバックアップをターゲットの AlloyDB Omni サーバーに復元するには、 - barman recoverコマンドを実行します。- コマンドを実行する際は、次のことも行います。 - リモート復元オプションを使用します。
- 宛先ディレクトリとして、ターゲット サーバーのディレクトリを指定します。
 - 次のコマンドは、AlloyDB Omni で - barman recoverを使用する例を示しています。- barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID DATA_PATH- 次のように置き換えます。 - TARGET_IP: ターゲット サーバーの IP アドレス。
- TARGET_LABEL: Barman の構成ファイルでサーバーに割り当てたラベル。
- BACKUP_ID: 前の手順で特定した、復元元のバックアップの ID(例:- 20230810T210200)。
- DATA_PATH: ターゲット サーバーのディレクトリの- dataサブディレクトリへのパス(例:- /home/your-username/alloydb-data/data)。
 
- AlloyDB Omni ターゲット データベース サーバーで、サービスを開始します。 - Docker- docker start CONTAINER_NAME- Podman- podman start CONTAINER_NAME
サービスが再起動したら、AlloyDB Omni サーバーに接続します。復元されたデータベースとデータが表示されます。
特定の時点に復元する
ポイントインタイム リカバリを実行するには、前のセクションと同じ手順を行います。ただし、1 つ違いがあります。barman recover コマンドを実行するときに、Barman のポイントインタイム リカバリ オプションのいずれかを指定する必要があります。
次のコマンドは、ポイントインタイム リカバリ オプションを使用して AlloyDB Omni で barman recover を使用する例を示しています。
barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID --target-time="RESTORE_TIMESTAMP" DATA_PATH次のように置き換えます。
- TARGET_IP: ターゲット サーバーの IP アドレス。
- TARGET_LABEL: Barman の構成ファイルでサーバーに割り当てたラベル。
- BACKUP_ID: 前の手順で特定した、復元元のバックアップの ID(例:- 20230810T210200)。
- TARGET_TIMESTAMP: 復元する時刻。日付と時刻の両方を指定する PostgreSQL- timestamp形式で指定します(例:- 2024-02-06 00:00:00)。
- DATA_PATH: ターゲット サーバーのディレクトリの- dataサブディレクトリへのパス(例:- /home/your-username/alloydb-data/data)。