物理
- 物理バックアップの方が高速だが、サイズは大きい。(pg_dumpは低速だがサイズが小さい)
- ファイルのコピーなどでバックアップを作成する前に、必ずデータベースを停止する必要がある。
- テーブルやデータベース単位でバックアップすることはできず、必ずデータベースクラスタ全体のバックアップとリストアを実行することになる。
- cp などのコマンドを利用して、データベースクラスタのディレクトリのコピーを作成する。
- tar などのコマンドを利用して、データベースクラスタのディレクトリのアーカイブを作成する。
- rsyncなどのコマンドを利用して、データベースクラスタのディレクトリの複製をネットワーク上の他のホストに作成する。
pg_basebackup
https://www.postgresql.jp/document/11/html/app-pgbasebackup.html
- pg_basebackup [オプション]
pg_basebackupはバージョン9.1で追加された、ベースバックアップ(データベース全てのバックアップ)を取得するコマンド。
デフォルトの設定では、WALファイルを含めたバックアップを取得する。
コマンドの実行には、スーパーユーザ権限またはREPLICATION権限が必要。
定期的に実行することで、WALアーカイブの容量を抑え、復旧処理の時間を短縮できる。
バックアップ中のデータが更新された場合もデータを再取得する必要はない。
デフォルトでは-X streamオプションが指定されるため、WALファイルはバックアップ対象に含まれる。
オプション-P を指定した場合は、コマンド実行時にバックアップ処理の進捗を表示することができる。