BDR 4.0.0¶
BDR 4.0はBDRの新しいメジャーバージョンであり、このリリース番号で採用されたのはセマンティックバージョニングです(詳細については、semver.orgを参照)。以前の2つのメジャーバージョンは3.7と3.6です。
Type |
Category |
Description |
|---|---|---|
Feature |
Compatibility |
EDB Postgres Advanced 14のBDRは、以前はEDB Postgres Extendedでのみ使用できた次の機能をサポートするようになりました。<br />- Commit At Most Once - ノードに障害が発生した場合でも、アプリケーションが各トランザクションを1回のみコミットするのに役立つ一貫性機能<br />- 積極的なEager Replication- トランザクションをコミットする前にクラスターのノード間を同期して、競合のないレプリケーションを提供します<br />- ワーカーのデコード - ウォルセンダーから別のワーカーへのデコードの分離により、多くのノードでのスケーラビリティが向上<br />- レプリケーションのキャッチアップ時間の見積もり<br />- タイムスタンプベースのスナップショット-複数のノードにわたって一貫した読み取りを提供し、特定の時刻に表示されるまたは表示されるデータを取得します<br />- 行フリーズの自動化された動的構成特定のコーナーケースでのUPDATE / DELETEの競合解決の一貫性を向上させるため<br />-評価チェック<br />-欠落しているパーティションをエラーではなく競合として処理するためのサポート<br />- NOT VALID制約とALTER TABLEの高度なDDL処理 |
Feature |
Compatibility |
PostgreSQL 12-14のコミュニティバージョンのBDRは、以前はEDB Postgres AdvancedまたはEDB Postgres Extendedでのみ使用できた次の機能をサポートするようになりました。<br />- 競合のないレプリケートされたデータ型- 非同期マルチプルで数学的に証明された一貫性を提供する追加のデータ型-マスター更新シナリオ<br />-列レベルの競合解決-列ごとに使用する機能の最終更新が解決を優先するため、異なるフィールドのUPDATEをいずれも失うことなく「マージ」できます<br />-変換トリガー-そのトリガーデータの着信ストリームで実行され、変更したり、高度なプログラムによるフィルタリングを実行したりできます<br />- 競合トリガー-競合が検出されたときに呼び出され、カスタムの競合解決手法を使用する方法を提供します<br />- CREATE TABLE ASレプリケーション<br />-パラレル適用-複数のライターが着信変更を適用できるようにします |
Feature |
Performance |
大規模なトランザクションのストリーミングをサポートします。 <p>これにより、 BDRは大きなトランザクション(サイズが`logical_decoding_work_mem`を超える)をダウンストリームのファイルまたはライタプロセスにストリーミングできます。これにより、トランザクションはコミットされる前でもデコードされるため、並列性が向上します。さらに、ライタに直接ストリーミングする場合、トランザクションを同時に適用することもできます。これにより、並列性がさらに向上します。 </p><p>大規模なトランザクションがファイルにストリーミングされると、それらはデコードされ、デコードされた変更はコミットされる前にダウンストリームに送信されます。変更は一連のファイルに書き込まれ、トランザクションが最終的にコミットしたときに適用されます。トランザクションが打ち切られると、変更は破棄されるため、アップストリームとダウンストリームの両方でリソースが無駄になります。 </p><p> サブトランザクションも自動的に処理されます。 </p><p>この機能は、PostgreSQL 14、 EDB Postgres Extended 13以降、およびEDB Postgres Advanced 14で利用できます。Postgresのどのバージョンで使用できる機能の詳細については、 :ref:`Choosing a Postgres distribution<Choosing a Postgres distribution>`付録を参照してください。</p> |
Feature |
Compatibility |
標準版とエンタープライズ版のBDRの以前のバージョンに存在した違いは削除されました。 BDR 4.0では、サポートされているPostgresディストリビューションとバージョン、つまりPostgreSQL v12-14、 EDB Postgres Extended v12-14、およびEDB Postgres Advanced 12-14ごとに1つの拡張機能があります。 <p>すべての機能がPostgreSQLのすべてのバージョンで利用できるわけではありません。利用可能な機能は、 `bdr_config`コマンドラインユーティリティまたは`bdr.bdr_features()`データベース関数を使用して機能フラグを介して報告されます。詳細については、 :ref:`Choosing a Postgres distribution<Choosing a Postgres distribution>`を参照してください。</p> |
Feature |
User Experience |
BDR 4.0拡張機能に対応するpglogical 4.0拡張機能はありません。 BDRにはpglogicalが必要なくなりました。 <p>これは、 BDR拡張機能とスキーマのみが存在し、構成パラメーターの名前が`pglogical.`から`bdr.`に変更されたことも意味します。</p> |
Feature |
Initial experience |
一部の構成オプションでは、インストール後のエクスペリエンスを向上させるためにデフォルトが変更されています。<br />-並列適用がデフォルトで有効になりました(2つのライター)。特にストリーミングが有効になっている場合、パフォーマンスが向上します。 <br />- `COPY`および`CREATE INDEX CONCURRENTLY`は、デフォルトで使用可能なすべてのノードに並列で(ストリーミングがサポートされているPostgresバージョンで)ライタにストリーミングされ、レプリケーションのラグスパイクを排除または少なくとも削減します。これらの操作の後。<br />-グローバルロックのタイムアウトが10分に延長されました<br />- `bdr.min_worker_backoff_delay`はデフォルトで1秒になり、サブスクリプションはエラー時に1秒に1回のみ接続を再試行します。 |
Feature |
Reliability and operability |
オリジンベースの競合検出を使用するテーブルのノード結合中の競合検出で誤検知の可能性が大幅に減少しました |
Feature |
Reliability and operability |
CAMOペアの構成をSQLカタログに移動します<p>構成ミスの可能性を減らし、 EDB Postgres分散クラスター内のCAMOペアをグローバルに認識するには、 CAMO構成を個々のノードのpostgresql.confからRaftが管理するBDRシステムカタログに移動します。これにより、たとえば、別のアクティブノードのCAMOパートナーとしてまだ構成されているノードを誤って削除するのを防ぐことができます。 </p><p>アップグレードプロセスの詳細については、 :ref:`Upgrades chapter </pgd/latest/upgrades/#upgrading-a-camo-enabled-cluster>`を参照してください。 </p><p>これはGUC `bdr.camo_partner_of`および`bdr.camo_origin_for`を非推奨にし、関数`bdr.get_configured_camo_origin_for()`および`get_configured_camo_partner_of`を`bdr.get_configured_camo_partner`に置き換えます。</p> |
アップグレード¶
このリリースは、次のバージョンのBDRからのアップグレードをサポートしています。
3.7.13.1
- アップグレードする前に、
Upgrade Guide に記載されているプロセスと制限を読んで理解してください。