Known issues

これらは、 EDB Postgres Distributed 5の現在の既知の問題です。これらの既知の問題は、PGDのチケットシステムで追跡されており、将来のリリースで解決される予定です。

  • update_origin_change 競合のリゾルバーがskip に設定され、synchronous_commit=remote_apply が使用され、同じ行の同時更新が2つの異なるノードに繰り返し適用される場合、更新ステートメントの1つがPGDライタとのデッドロックが原因でハングする場合があります。 CRDTデータ型を使用した列の競合の処理 で述べたように、 skip は update_origin_change 競合のデフォルトのリゾルバーではありません。この組み合わせは、本番環境での使用を意図したものではありません。そのノードへの到着順序に基づいて、2つの競合する更新のうちの1つを破棄します。これにより、クラスターが発散する可能性があります。 skip 競合リゾルバーの使用を選択するまれな状況では、 remote_apply モードの使用に関する問題に注意してください。

  • Decoding Worker機能は、 CAMO/Eager/Group Commitでは動作しません。 CAMO/Eager/Group Commitを使用したインストールでは、 enable_wal_decoder を無効にしておく必要があります。

  • ラグ制御は、完全に分離されたノードで、つまり、他のすべてのノードが到達不能または動作不能である場合、コミット遅延を調整しません。少なくとも1つのノードが接続されるとすぐに、レプリケーションラグコントロールが作業を開始し、PGDコミット遅延を再度調整します。

  • 時間ベースのラグ制御の場合、PGDは現在、履歴適用率に基づいた推定キャッチアップタイムではなく、ラグタイム(コミットタイムスタンプで測定)を使用します。

CAMOペアのCAMOパートナーを変更することは現在不可能です。ペアの追加・削除のみ可能です。ペアを追加または削除するには、Postgresの再起動や、構成のリロードさえ必要ありません。

  • Group Commitは CAMO/failoverオプションを使用したpgbench または Eager All-Node Replication と組み合わせることはできません。 Eager Replicationは現在、グローバルなPGDコミットスコープを使用する場合にのみ機能します。

  • Eager Replicationを使用するトランザクションはまだDDLを実行できません。 TRUNCATEコマンドは許可されています。

CAMOまたはGroup Commitのいずれかを使用すると、すべてのDDLを実行できるわけではありません。

  • パラレル適用は現在、Group Commitと組み合わせてサポートされていません。 Group Commitを使用するときは、次のいずれかの方法で無効にしてください。 - GUC bdr.writers_per_subscription を使用。 Configuration of generic replication を参照してください。

  • 現在、コミットスコープの変更または削除に対する保護はありません。同時に変更または削除されているコミットスコープでトランザクションを実行すると、トランザクションを適用しようとしているダウンストリームノードでエラーが発生したため、トランザクションのブロックまたはレプリケーションの完全な停止につながる可能性があります。特定のコミットスコープを使用するトランザクションを変更または削除する前に、それが終了していることを確認してください。

  • PGD CLIの使用 は、以前にクラスターから分離されたノードにまだ接続している場合、クラスターの状態に関する古いデータを返す可能性があります。 pgd-cli-config.yml ファイルを編集するか、 --dsn 設定を変更して、クラスター内のアクティブノードのみが接続用にリストされるようにします。

他のデザインまたは実装 CAMOの制限 の詳細も利用できます。