pgBackRestで全体、差分、増分バックアップを取得
PostgreSQLバックアップとPITRコマンド
sudo -u postgres pgbackrest --stanza=<stanza> --type=full backup
sudo -u postgres pgbackrest --stanza=<stanza> --type=diff backup # changes since the last full
sudo -u postgres pgbackrest --stanza=<stanza> --type=incr backup # changes since the last backup of any type
# cron example (postgres user): full on Sunday, diff on other days
# 30 1 * * 0 pgbackrest --stanza=<stanza> --type=full backup
# 30 1 * * 1-6 pgbackrest --stanza=<stanza> --type=diff backup概要
fullはクラスタ全体を、diffは最後のfull以降に変更されたファイルを、incrは種類を問わず最後のバックアップ以降に変更されたファイルをコピーする。最後に必要なWALがアーカイブ済みであることが検証され、保存期間に従ってexpireが自動的に実行される。
使用する場面
定期的なバックアップスケジュールで: 一般的には週次full + 日次diff/incr、大規模クラスタではより頻繁なincr。
注意
以前のfullがない場合、diff/incrの要求は自動的にfullに昇格される。incrのチェーンが長いほどリストア時間と依存関係が増える。チェーン内の1つのバックアップを失うと、それ以降のバックアップは使用できなくなる。プライマリの負荷を軽減するには、backup-standby=yでスタンバイからバックアップする(調整のためにプライマリは引き続き必要)。