2026年8月13日
2026年8月13日
PostgreSQLのバックアップと復元方法(pg_dump)
はじめに
PostgreSQLは、高性能かつ柔軟性の高いオープンソースデータベースシステムです。定期的なバックアップと復元は、データを保護し、障害時の迅速な復旧を可能にする重要な作業です。pg_dumpコマンドを使用することで、データベースの完全なバックアップを作成したり、必要なデータだけを選択的に抽出することができます。
手順・設定方法
ステップ1: バックアップを作成する
# PostgreSQL接続情報とダンプファイル名を指定してpg_dumpコマンドを実行します。
pg_dump -U username -h localhost -F c -b -v -f /path/to/backup.dump database_name
# コマンドの各オプションの意味:
# -U: ユーザー名
# -h: ホスト名
# -F: 出力形式(c=custom)
# -b: バックアップにブロッキングを加えないようにする
# -v: デバッグ情報を出力する
# -f: ファイル名
# database_name: バックアップを作成したいデータベース名
ステップ2: 主要オプション/設定
# 非ブロッキングモードを使用してバックアップを作成します。
pg_dump -U username -h localhost -F c -j 4 -v -f /path/to/backup.dump database_name
# コマンドの追加オプション:
# -j: ページングジョブ数を指定(並列化)
ステップ3: 应用/組み合わせ
# 大規模なデータベースには制限付きダンプを使用します。
pg_dump -U username -h localhost --section=data --section=privileges -f /path/to/backup.dump database_name
# コマンドの追加オプション:
# --section: セクションを指定(data, privilegesなど)
ステップ4: 実践/トラブルシュート/監視
# バックアップファイルが正常に作成されていることを確認します。
ls -l /path/to/backup.dump
# ファイルサイズと日時を確認します。
stat /path/to/backup.dump
注意事項
- セキュリティ上の注意: バックアップファイルは厳重に管理し、アクセス権限を制限してください。
- パフォーマンス/運用上の注意: 大規模なデータベースでは並列化オプションを活用すると効率が上がります。
まとめ
1. バックアップの作成: pg_dumpコマンドを使用してデータベースの完全なバックアップを作成します。
2. 非ブロッキングモード: バックアップにブロッキングを加えないようにします。
3. 制限付きダンプ: 大規模なデータベースでは必要なセクションだけをバックアップします。
4. 確認: ファイルの存在と正しさを定期的に確認します。
5. セキュリティ管理: バックアップファイルは厳重に管理し、アクセス権限を適切に設定します。
関連記事:
- [PostgreSQLの基本的な操作]
- [データベースの安全性確保方法]
- [定期的なバックアップ実行]