
pgbackrest release/2.59.1
PostgreSQL向けパラレルバックアップ・リストアソリューション。暗号化、差分リストア、マルチクラウドオブジェクトストア対応により、エンタープライズのディザスタリカバリを実現します。
pgBackRest
信頼性の高いPostgreSQLバックアップとリストア
はじめに
pgBackRestは、PostgreSQL向けの信頼性の高いバックアップおよびリストアソリューションであり、最大規模のデータベースやワークロードにもシームレスにスケールします。
pgBackRest v2.59.2 が現在の安定版リリースです。リリースノートはReleasesページにあります。
pgBackRestが気に入ったら、GitHubでスターをお願いします!
ニュース
2026年9月27日 - pgBackRest 2.59.2 リリース
2026年8月17日 - pgBackRest 2.59.1 リリース
2026年7月20日 - 新しいディストリビューションtarball
機能
並列バックアップとリストア
バックアップ操作では通常、圧縮がボトルネックになるため、pgBackRestは並列処理とlz4やzstdなどのより効率的な圧縮アルゴリズムでこの問題を解決します。
ローカルまたはリモートでの操作
独自のプロトコルにより、pgBackRestは最小限の設定でTLS/SSH経由でローカルまたはリモートでバックアップ、リストア、アーカイブを行うことができます。また、プロトコル層を介してPostgreSQLにクエリを実行するインターフェースが提供されるため、PostgreSQLへのリモートアクセスが不要になり、セキュリティが強化されます。
複数のリポジトリ
複数のリポジトリにより、例えば、高速リストア用の最小限の保持期間を持つローカルリポジトリと、冗長性とエンタープライズ全体でのアクセスのためのより長い保持期間を持つリモートリポジトリを運用できます。
フル、差分、増分バックアップ(ファイルまたはブロックレベル)
フル、差分、増分バックアップがサポートされています。pgBackRestはrsyncの時間解像度の問題の影響を受けないため、各ファイルのチェックサムを必要とせずに差分および増分バックアップを安全に行えます。ブロックレベルのバックアップは、変更されたファイルの部分のみをコピーすることでスペースを節約します。
バックアップローテーションとアーカイブの有効期限
フルバックアップと差分バックアップに保持ポリシーを設定して、任意の期間のカバレッジを作成できます。WALアーカイブは、すべてのバックアップに対して維持することも、最新のバックアップのみに厳密に維持することもできます。後者の場合、古いバックアップを整合性のある状態にするために必要なWALはアーカイブ内に維持されます。
バックアップの整合性
バックアップ内のすべてのファイルに対してチェックサムが計算され、リストアまたは検証時に再チェックされます。バックアップがファイルのコピーを完了した後、バックアップを整合性のある状態にするために必要なすべてのWALセグメントがリポジトリに到達するまで待機します。
リポジトリ内のバックアップは、標準のPostgreSQLクラスタと同じ形式(テーブルスペースを含む)で保存できます。圧縮が無効でハードリンクが有効な場合、リポジトリ内のバックアップをスナップショットし、そのスナップショット上で直接PostgreSQLクラスタを起動することが可能です。これは、従来の方法ではリストアに時間がかかるテラバイト規模のデータベースにとって有利です。
すべての操作は、耐久性を確保するためにファイルおよびディレクトリレベルのfsyncを利用します。
ページチェックサム
ページチェックサムが有効な場合、pgBackRestはバックアップ中にコピーされるすべてのファイルのチェックサムを検証します。すべてのページチェックサムはフルバックアップ中に検証され、変更されたファイルのチェックサムは差分および増分バックアップ中に検証されます。
検証の失敗はバックアッププロセスを停止させませんが、どのページが検証に失敗したかの詳細を含む警告がコンソールとファイルログに出力されます。
この機能により、有効なデータのコピーを含むバックアップが期限切れになる前に、ページレベルの破損を早期に検出できます。
バックアップの再開
中断されたバックアップは、停止した時点から再開できます。すでにコピーされたファイルは、整合性を確保するためにマニフェスト内のチェックサムと比較されます。この操作はリポジトリホスト上で完全に実行できるため、PostgreSQLホストの負荷を軽減し、チェックサム計算がデータの圧縮と再送信よりも高速であるため時間を節約できます。
ストリーミング圧縮とチェックサム
リポジトリがローカルにあるかリモートにあるかに関わらず、ファイルがリポジトリにコピーされている間に、圧縮とチェックサムの計算がストリームで実行されます。
リポジトリがリポジトリホスト上にある場合、圧縮はPostgreSQLホスト上で実行され、ファイルは圧縮形式で送信され、リポジトリホストにそのまま保存されます。圧縮が無効な場合は、CPUコストを最小限に抑えつつ利用可能な帯域幅を効率的に使用するために、より低いレベルの圧縮が利用されます。
デルタリストア
マニフェストにはバックアップ内のすべてのファイルのチェックサムが含まれているため、リストア中にこれらのチェックサムを使用して処理を大幅に高速化することが可能です。デルタリストアでは、バックアップに存在しないファイルが最初に削除され、残りのファイルのチェックサムが生成されます。バックアップと一致するファイルはそのまま残され、残りのファイルは通常どおりリストアされます。並列処理により、リストア時間を劇的に短縮できます。
並列、非同期のWALプッシュと取得
WALをアーカイブにプッシュし、アーカイブからWALを取得するための専用コマンドが含まれています。両方のコマンドは並列処理をサポートして処理を加速し、非同期で実行されるため、PostgreSQLへの可能な限り最速の応答時間を提供します。
WALプッシュは、複数回プッシュされたWALセグメントを自動的に検出し、セグメントが同一の場合は重複排除し、そうでない場合はエラーを発生させます。非同期WALプッシュにより、転送を別のプロセスにオフロードでき、そのプロセスがWALセグメントを並列で圧縮して最大のスループットを実現します。これは、書き込み量が極端に多いデータベースにとって重要な機能となり得ます。
非同期WAL取得は、展開されてリプレイ可能な状態のWALセグメントのローカルキューを維持します。これにより、PostgreSQLにWALを提供するために必要な時間が短縮され、リプレイ速度が最大化されます。レイテンシの高い接続やストレージ(S3など)が最も恩恵を受けます。
プッシュコマンドと取得コマンドはどちらも、PostgreSQLのバージョンとシステム識別子を比較することで、データベースとリポジトリが一致することを保証します。これにより、WALアーカイブの場所を誤設定する可能性が事実上排除されます。
テーブルスペースとリンクのサポート
テーブルスペースは完全にサポートされており、リストア時にテーブルスペースを任意の場所に再マッピングできます。また、単一のコマンドですべてのテーブルスペースを1つの場所に再マッピングすることも可能で、これは開発用のリストアに便利です。
ファイルとディレクトリのリンクは、PostgreSQLクラスタ内の任意のファイルまたはディレクトリに対してサポートされています。リストア時には、すべてのリンクを元の場所にリストアする、一部またはすべてのリンクを再マッピングする、あるいは一部またはすべてのリンクをクラスタディレクトリ内の通常のファイルまたはディレクトリとしてリストアすることが可能です。
S3、Azure、GCSのサポート
pgBackRestのリポジトリは、S3、Azure、GCS互換のオブジェクトストアに配置でき、事実上無制限の容量と保持を可能にします。
暗号化
pgBackRestはリポジトリを暗号化して、保存場所に関わらずバックアップを安全に保護できます。
ランサムウェアとマルウェアからの保護
リポジトリがバージョン管理されたオブジェクトストレージに保存されている場合、pgBackRestは特定の時点でのリポジトリの状態を読み取ることができます。バックアップが事故、マルウェア、またはランサムウェアによって削除または破損された場合、ターゲット時刻を使用して、損傷が発生する前のデータを復元できます。
バージョン管理はS3、Azure、GCS互換のオブジェクトストアでサポートされています。S3のオブジェクトロックとGCSまたはAzureのソフト削除は、改ざんに対する追加の保護を提供できます。
10バージョンのPostgreSQLとの互換性
pgBackRestは10バージョンのPostgreSQLをサポートしています。5つのサポート対象バージョンと、直近5つのEOLバージョンです。これにより、サポート対象バージョンへのアップグレードに十分な時間を確保できます。
はじめに
pgBackRestは、設定と運用が簡単になるよう努めています:
- さまざまなオペレーティングシステムとPostgreSQLバージョン向けのユーザーガイド。
- コマンドライン操作のためのコマンドリファレンス。
- pgBackRestの設定を作成するための設定リファレンス。
スポンサー
pgBackRestはスポンサーなしには存在しませんでした。新機能、バグ修正、コントリビューションのレビュー、コミュニティサポート、メンテナンスにはすべて相当な時間がかかります。エンタープライズでpgBackRestを使用している場合は、スポンサーを検討してください。
スポンサー:AWS、Supabase、pgEdge、Tiger Data、Percona、Eon、Xata、Dalibo、Data Egret。
PostgreSQLコミュニティ全体に利益をもたらすオープンソースインフラストラクチャに投資してくださるスポンサーに感謝します。
過去のスポンサー:Crunchy Data、Resonate。
コントリビューション
pgBackRestへのコントリビューションはいつでも歓迎します!機能、改善、または問題の貢献方法の詳細については、コントリビューションガイドラインをご覧ください。
サポート
pgBackRestはMITライセンスの下で完全に無料かつオープンソースです。個人的または商業的な目的で、いかなる制限もなく使用できます。バグレポートは非常に真剣に受け止められ、可能な限り迅速に対処されます。バグはこちらで報告してください。
適切なレプリケーションとバックアップ戦略を備えた堅牢な災害復旧ポリシーを作成することは、非常に複雑で困難な作業になる可能性があります。アーキテクチャフェーズで支援が必要になったり、エンタープライズが円滑に稼働し続けるための継続的なサポートが必要になる場合があります。
当社のスポンサーは、pgBackRestのサポートを含む製品とサービスを提供しており、災害復旧のニーズを支援できます。