Back to blog

【製品解説】EDB Postgres Distributed(PGD)6.4.0

June 23, 2026

超高可用性マルチマスター 〜クォーラムコミット導入でグローバルな一貫性をさらに強靭化:Postgresのアクティブ・アクティブ構成を支えるPGDが進化。新版では過半数合意でロールバックを制御するクォーラムコミットを追加し、データの乖離を防止。トランザクションモードのプール対応やラージオブジェクト複製も実装し、大規模分散環境の信頼性を引き上げます。

1. PGDとは?

EDB Postgres Distributed (PGD) は、標準の PostgreSQL、EDB Postgres Extended Server (PGE)、または EDB Postgres Advanced Server (EPAS) を、分散型、マルチマスター構成、かつ高可用性なデータベースプラットフォームへと変換する統合ソフトウェアスタックです。最新世代の双方向レプリケーション(BDR)を中核とし、複数ノードでの同時書き込みを可能にします。

2. 主なメリット

  • アクティブ・アクティブ業務継続性: 全ノードで書き込みが可能で、障害時もゼロ待ち時間で他ノードへ自動迂回します。
  • 柔軟な一貫性管理: コミットスコープを用いて、パフォーマンスとデータ整合性のバランスを柔軟に設定できます。
  • データ局所性とデータ主権: 選択的フィルタリングにより、GDPR/CCPA等の規制に合わせて機密データを特定地域に保持可能です。
  • 参照スケーリング: サブスクライバ専用ノードを活用し、書き込みに影響を与えず参照性能を数十ノード規模まで拡張可能です。
  • 自動競合管理: 同一データへの同時書き込みが発生した場合、設定ルールに基づいて競合を自動解消します。
  • 階層化ストレージ(PGAA連携): 古いデータを安価なオブジェクトストレージへ自動移行し、コスト削減と同一インターフェースクエリを実現します。
  • ゼロダウンタイム運用: OSパッチ適用やDBアップデートをノードごとに順次実行(ローリングアップデート)可能です。

3. PGDの仕組み

PGD は以下の統合コンポーネントおよびプロトコルにより分散高可用性を実現します。

  • 論理レプリケーション: 論理レベルでの変更同期により、異種メジャーバージョン間同期や同一テーブルへの同時書き込みに対応。
  • コミットスコープ: クライアントへのコミット完了前に必要な他ノードの承認条件を制御するルールです。
  • コネクションマネージャー: 組み込みプロキシが書き込みをライトリーダーへ自動ルーティングし、参照トラフィックをレプリカへ分散します。
  • Raftコンセンサス: リーダー選出、クラスタ構成管理、グローバルロックを自動調和します。
  • レプリケーションセット: テーブル単位でのグループ化により、きめ細かな部分レプリケーションを管理します。

4. バージョン6.4.0 新機能

【新機能および機能強化】

  • クォーラムコミット(Quorum Commit)スコープ: 過半数ノードの合意を必須化。合意が得られない場合はロールバックを実行し、データの乖離を防ぎ一貫性を担保します。
  • トランザクションモードのプール対応: コネクションマネージャーがトランザクション単位のプーリングに対応し、高同時実行環境での負荷削減とスケーラビリティ向上を実現。
  • 複製ラージオブジェクト(Replicated Large Objects): PostgreSQLラージオブジェクトの論理複製に対応し、galloc シーケンスで重複のないグローバル一意OIDを自動生成。
  • アプライエラーポリシーの強化: レプリケーション失敗時に無限リトライせず、エラーログを専用テーブルへ保存・管理可能な設定を追加。
  • Raft状態同期コマンド: pgd raft sync-snapshot コマンドで、乖離したRaft状態をリーダーのスナップショットから強制同期可能に。
  • 一括リーダーシップ移譲関数: bdr.transfer_all_leaderships により、ノードの書き込み/Raftリーダー権限を他ノードへ一括退避し、メンテナンスを自動化。

5. 日本語マニュアル

EDB Postgres Distributed(PGD)6.4.0 日本語マニュアル

機能の詳細な設定方法やパラメータ仕様、導入手順については日本語マニュアルをご覧ください。

日本語マニュアルを見る >> 


Share this