注意: 2027 年 7 月 31 日をもって、アプライアンス管理コンソールを使用した PostgreSQL データベースのバックアップのサポートは非推奨となります。この非推奨と代替のバックアップ ソリューションの詳細については、従来のデータベースバックアップからの移行をご覧ください。
PostgreSQL は、SQL 言語を使用および拡張する強力なオープンソース オブジェクト リレーショナル データベース システムです。このシステムには、最も複雑なデータ ワークロードを安全に保存してスケーリングするための多くの機能が組み込まれています。
Backup and DR で使用される PostgreSQL バックアップ API
ボリュームレベル(Linux 変更ブロックのトラッキングと LVM スナップショット)のバックアップ: バックアップと DR は、Linux 変更ブロック のトラッキングと LVM スナップショットを使用してバックアップを実行するときに、PostgreSQL の
pg_start_backup(label)とpg_stop_backup()コマンドを使用します。完全バックアップ + 増分バックアップ(ファイルベースの従来型): バックアップと DR は、PostgreSQL
pg_dumpファイルベースのバックアップ コマンドを使用します。pg_dumpコマンドには、データベースの増分変更をキャプチャするオプションがないため、各バックアップはデータベース全体のダンプバックアップになります。データベースの復元では、データ領域を物理的に上書きすることでデータベースを復元します。
PostgreSQL ログのバックアップ: ログのバックアップ中、Backup and DR はすべての PostgreSQL WAL(
WriteAheadLog)を物理的にコピーします。ログを削除するには、Backup and DR は OS レベルのコマンドを使用します。
仕組み: Backup and DR の Linux CBT を使用したボリュームベースのバックアップ
ビットマップでトラッキングされるのは変更されたブロックのみです。コピーオンライトや I/O を多用するオペレーションはありません。
データ バックアップと復元のプロセスは次のとおりです。
Backup and DR エージェントには、データベース データ領域内の変更されたブロックをトラッキングする CBT があります。
エージェントはデータベース API を呼び出して、データ バックアップのためにデータベースをフリーズまたは一時停止します。
エージェントはデータベース データ領域の LVM スナップショットを作成し、ビットマップを合成します。
エージェントはデータベース API を呼び出して、データベースのフリーズを解除します。
エージェントは変更されたブロックをバックアップ/リカバリ アプライアンスにコピーします。アプライアンスはスナップショットを削除し、バックアップをカタログに登録します。
アプライアンスは内部スナップショットを発行し、特定時点の仮想完全バックアップを合成します。
データ復旧の場合、Backup and DR は書き換え可能なステージング ディスクを即時にマウントし、データベースをオンラインにします。
ボリュームレベルのスナップショット ジョブの場合、quiesce コマンドまたは unquiesce コマンドはプライマリ で実行されます。
select pg_start_backup(<label>);
select pg_stop_backup();
ボリュームレベルのスナップショット ジョブの場合、quiesce コマンドと unquiesce コマンドはスタンバイ ノード で実行されます。
PostgreSQL のバージョンが 10.x 以降の場合:
select pg_wal_replay_pause();
select pg_wal_replay_resume();
PostgreSQL のバージョンが 9.x の場合:
select pg_xlog_replay_pause();
select pg_xlog_replay_resume();
仕組み: ファイルベースのバックアップ
ファイルベースのバックアップを使用してデータ バックアップと復元を行うプロセスは次のとおりです。
Backup and DR エージェントはデータベース サーバーにデプロイされます。
ステージング ディスクをデータベース サーバーにマウントします。
ダンプバックアップ コマンドを使用して完全バックアップを開始し、バックアップをマウントされたディスクに書き込みます。
Backup and DR は内部スナップショットを取得します。ログのバックアップは、構成したスケジュールに従い、ファイル システムから直接、同様の方法で行われます。
データ復元の場合、Backup and DR はステージング ディスクをデータベース サーバーに即時にマウントし、データベース復元オペレーションを開始します。ログは、データベースの復元後の任意の時点まで再生できます。
次のステップ
PostgreSQL 用の Backup and DR のその他のドキュメント
- Backup and DR for PostgreSQL
- Backup and DR 用にデータベースを準備する
- PostgreSQL データベース ホストを追加してデータベースを検出する
- ポリシー テンプレートとリソース プロファイルを定義する
- アプリケーションの詳細と設定を行う
- ステージング ディスクのフォーマットとバックアップ方法を確認する
- PostgreSQL データベースとそのログを保護する
- PostgreSQL データベースをマウントする
- PostgreSQL バックアップを復元する
- PostgreSQL バックアップと DR のワークフローを作成する