
pgbackrest release/2.59.0
PostgreSQL向けパラレルバックアップ・リストアソリューション。暗号化、差分リストア、マルチクラウドオブジェクトストア対応により、エンタープライズのディザスタリカバリを実現します。
pgBackRest
信頼性の高い PostgreSQL バックアップ & リストア
はじめに
pgBackRest は、PostgreSQL 向けの信頼性の高いバックアップおよびリストアソリューションであり、大規模なデータベースやワークロードまでシームレスに拡張できます。
pgBackRest v2.59.1 が現在の安定版です。リリースノートは Releases ページにあります。
pgBackRest を気に入っていただけましたら、GitHub でスターをお願いします!
ニュース
2026年8月17日 - pgBackRest 2.59.1 リリース
2026年7月20日 - 新しい配布用ターボール
2026年7月20日 - pgBackRest 2.59.0 リリース
機能
並列バックアップ & リストア
圧縮は通常、バックアップ操作中のボトルネックになります。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 は、サポートされている 5 つのバージョンと、EOL となった最後の 5 つのバージョンを含む、10 バージョンの PostgreSQL をサポートしています。これにより、サポートされているバージョンへのアップグレードに十分な時間を確保できます。
はじめに
pgBackRest は、設定と操作が簡単になるように設計されています:
- さまざまなオペレーティングシステムと PostgreSQL バージョン向けの ユーザーガイド
- コマンドライン操作用の コマンドリファレンス
- pgBackRest 設定を作成するための 設定リファレンス
スポンサー
pgBackRest はスポンサーなしでは存在しません。新機能、バグ修正、コントリビューションのレビュー、コミュニティサポート、メンテナンスには、すべてかなりの時間がかかります。エンタープライズで pgBackRest を使用している場合は、スポンサーシップ をご検討ください。
スポンサー: AWS、Supabase、pgEdge、Tiger Data、Percona、Eon、Xata、Dalibo、Data Egret。
PostgreSQL コミュニティ全体に利益をもたらすオープンソースインフラストラクチャへの投資に対して、スポンサーの皆様に感謝いたします。
過去のスポンサー: Crunchy Data、Resonate。
コントリビューション
pgBackRest へのコントリビューションはいつでも歓迎します! 機能、改善、問題のコントリビューション方法の詳細については、コントリビューションガイドライン をご覧ください。
サポート
pgBackRest は完全に無料で、MIT ライセンスの下でオープンソースです。個人目的または商用目的を問わず、いかなる制限もなく使用できます。バグレポートは真剣に受け止められ、可能な限り迅速に対処されます。バグは こちら から報告してください。
適切なレプリケーションとバックアップ戦略を備えた堅牢なディザスタリカバリポリシーを作成することは、非常に複雑で困難な作業になる可能性があります。アーキテクチャ設計フェーズ中の支援や、エンタープライズがスムーズに稼働し続けることを保証するための継続的なサポートが必要になる場合もあります。
スポンサー は、pgBackRest サポートを含む製品とサービスを提供しており、ディザスタリカバリのニーズに対応できます。