バックアップの定期実行について説明します。
データベースのバックアップは、PostgreSQLのPITR(Point In Time Recovery)の仕組みを使用しています。
PITRを使用したデータベースのバックアップ・リストアでは、以下の2つの資産をバックアップおよびリストアします。
ベースバックアップ
WALファイル
ベースバックアップとは、データベースクラスタ(実体はデータが記録されるファイル群)全体をバックアップするものです。バックアップコマンド(cfmg_backup)を実行し取得します。
WALファイルとは、データベースへの更新内容が記録されるファイルです。この更新内容は16MBのサイズごとに複数のファイルに出力されます。
通常、16MB書き込まれるごとに、書き込み対象のWALファイルが切り替わり、書き込みが完了したWALファイルは別途指定したWAL退避ディレクトリに退避されます。
詳細は「5.5.3 データベースバックアップ先ディレクトリの変更【Windows】」を参照してください。
WALファイルの切替えは、WALファイル切替えコマンド(cfmg_switchwal)を使用して、任意のタイミングで切り替えることも可能です。このコマンドを定期的に実行することで、退避されたWALファイルに記録されるデータベースの更新内容の新しさを、一定時間以内に維持することができます。
たとえば、1時間ごとにWALファイル切替えコマンド(cfmg_switchwal)を実行すると、最新の1時間以内の更新内容まで退避されることになります。
データベースのリストアは、ベースバックアップに、ベースバックアップ取得以降に出力されたWALファイルのデータベース更新内容を適用することにより復旧します。
またこの時、いつの時点の更新内容まで反映するか、日時を指定することにより、任意の時点のデータベースの状態に復旧することも可能です。リストアはリストアコマンド(cfmg_restore)を実行し、実施します。
バックアップコマンド(cfmg_backup)およびWALファイル切替えコマンド(cfmg_switchwal)は定期実行させ、バックアップ作業を省力化することができます。
バックアップの定期実行の設定手順については、「5.4.2 バックアップの定期実行の設定手順」を参照してください。
コマンドの詳細については、『リファレンスガイド』の「バックアップコマンド」、「リストアコマンド」および「WALファイル切替えコマンド」を参照してください。