PostgreSQL configuration for BDR

いくつかのPostgreSQL構成パラメーターはBDRノードに影響します。これらのパラメーターは各ノードで個別に設定できますが、一般的にはお勧めしません。

BDRのPostgreSQL設定

BDRを正しく実行するには、次のPostgreSQL設定が必要です。

  • wal_level — BDRはロジカルデコーディングに依存しているため、 logical に設定する必要があります。

  • shared_preload_libraries — bdr を含める必要がありますが、必要に応じてその前または後に他のエントリを含めることができます。ただし、 pglogical は含めないでください。

  • track_commit_timestamp —競合する行のタイムスタンプを取得する競合を解決するには、 on に設定する必要があります。

BDRでは、これらのPostgreSQL設定を適切な値に設定する必要があります。値はクラスターのサイズとスケールによって異なります。

  • logical_decoding_work_mem —ロジカルデコーディングで使用されるメモリバッファサイズ。これより大きいトランザクションはバッファをオーバーフローし、ローカルディスクに一時的に保存されます。デフォルトは 64 メガバイトですが、もっと大きく設定できます。

  • max_worker_processes — BDRはレプリケーションとメンテナンスのタスクにバックグラウンドワーカーを使用するため、正常に動作するには十分なワーカースロットが必要です。データベースプラスに、PostgreSQLのインスタンスプラスプラスのノードはデータベースのデータベース同等な。 BDRグループ内の同等なごとに有効になっているライターごとにBDRグループからノードを削除するときに、一時的により多くのワーカープロセスが必要になる場合がありノード。

  • max_wal_senders —すべての同等なノードに2つ必要。

  • max_replication_slots — max_wal_senders と同じ。

  • wal_sender_timeout およびwal_receiver_timeout —ノードがCAMOパートナーを切断または再接続と見なす速度を決定します。詳細は CAMO failure scenarios を参照してください。

N個の同等なを持つグループの通常の実行では、 BDRにはN個のスロットとWAL送信者が必要です。同期中に、 BDRは別のN-1スロットとWAL送信者を一時的に使用するため、この時折のピーク需要に合わせてパラメーターを十分に高く設定するようにしてください。

パラレル適用をオンにすると、スロット数を式*ライターからNスロットに増やす必要があります。これは、 max_replication_slots もレプリケーション起点の最大数を設定し、パラレル適用の一部の機能はライタごとに追加のオリジンを使用するためです。

デコードワーカー が有効になっている場合、このプロセスにはBDRグループごとに1つの追加のレプリケーションスロットが必要です。

単一のデータベースを持つ4ノードのBDRグループでの一般的な安全な推奨値は、 max_replication_slots とmax_worker_processes を50 のように設定し、 max_wal_senders を少なくとも10 に設定することです。

これらのパラメーターを変更するには、ローカルノードを再起動する必要があります:max_worker_processes 、max_wal_senders 、max_replication_slots 。

アプリケーションでこれらのパラメーターを設定することもできます。詳細は Durability and performance options を参照してください。

  • synchronous_commit — BDRレプリケーションの耐久性とパフォーマンスに影響します。

    physical replication と同様に。

  • synchronous_standby_names —上記と同じ。

BDR固有の設定

BDR固有の構成設定を設定することもできます。特に断りのない限り、値はいつでも設定できます。

競合ハンドリング

  • bdr.default_conflict_detection —新しく作成されたテーブルのデフォルトの競合検出メソッドを設定します。

    bdr.alter_table_conflict_detection() と同じ値を受け入れます。

グローバルシーケンスパラメータ

  • bdr.default_sequence_kind —デフォルトの sequence kind を設定します。デフォルト値はdistributed です。これは、 snowflakeid がint8 シーケンス(つまりbigserial )に使用され、galloc シーケンスがint4 (つまりserial )およびint2 シーケンスであることを意味します。

DDLハンドリング

  • bdr.default_replica_identity —新しく作成されたテーブルのREPLICA IDENTITY のデフォルト値を設定します。 REPLICA IDENTITY は、更新または削除された行を識別するためにログ先行書き込みに書き込まれる情報を定義します。

受け入れられる値は次のとおりです。

  • DEFAULT —プライマリキーの列の古い値を記録します(これはPostgreSQLのデフォルトの動作です)。 - FULL —行のすべての列の古い値を記録します。 - NOTHING —古い行に関する情報は記録しません。

詳細については、 PostgreSQL documentation を参照してください。

BDRは、 PRIMARY KEY またはUNIQUE 制約のないテーブルでUPDATE およびDELETE 操作を複製できません。例外は、テーブル固有の構成またはbdr.default_replica_identity によって、テーブルのレプリカアイデンティティがFULL である場合です。

bdr.default_replica_identity がDEFAULT であり、テーブルにUNIQUE 制約がある場合、自動的にREPLICA IDENTITY として選択されません。上記のように、テーブルの作成時または作成後に明示的に設定する必要があります。

テーブルのレプリカアイデンティティを FULL に設定すると、書き込まれるWALのボリュームとテーブルのネットワークで複製されるデータの量が増加します。

  • bdr.ddl_replication —ノード間でDDLを自動的に複製します(デフォルトはon )。

このパラメータは、 bdr_superuserまたはスーパーユーザロールのみが設定できます。

bdr.ddl_replication = off でDDLを実行するか、 BDR管理機能を呼び出すと、管理者が介入するまでレプリケーションが停止する状況が発生する可能性があります。詳細は DMLおよびDDLレプリケーション を参照してください。

bdr.ddl_replication がoff に設定されている場合は常に、 LOG レベルのログメッセージがPostgreSQLサーバーログに出力されます。さらに、この設定が原因でキャプチャされたDDLコマンドまたはBDRレプリケーションファンクションのレプリケーションがスキップされたされるたびに、 WARNING-level メッセージが書き込まれます。

  • bdr.role_replication —ノード間でROLEコマンドを自動的に複製します(デフォルトはon )。このパラメータを設定できるのはスーパーユーザだけです。この設定は、 bdr.ddl_replication がオンになっている場合にのみ機能します。

外部の方法を使用せずにこれをオフにして、すべてのノードでロールが同期されていることを保証と、管理者が介入するまでレプリケーションされたDDLがレプリケーションを中断する場合があります。

詳細は ロール操作ステートメント を参照してください。

  • bdr.ddl_locking — DDLのグローバルロックのオペレーションモードを構成します。

このパラメータは、 bdr_superuserまたはスーパーユーザロールのみが設定できます。

可能なオプションは次のとおりです。

  • オフDDL操作にグローバルロックを使用しないでください。 - on -すべてのDDL操作にグローバルロックを使用します。 - dmlグローバル ロックは、リレーションのグローバルDMLロックを取得して書き込みを防止する必要があるDDL操作にのみ使用します。

bdr.ddl_replication がoff に設定されている場合は常に、 LOG レベルのログメッセージがPostgreSQLサーバーログに出力されます。さらに、この設定が原因でグローバルロック手順がスキップされたされるたびに、 WARNING メッセージが書き込まれます。一部のステートメントで2つの WARNING メッセージが表示されるのは正常です。1つはDMLロックをスキップするため、もう1つはDDLロックをスキップするためです。

  • bdr.truncate_locking —デフォルトは False 。この構成オプションは TRUNCATE コマンドのロック動作を設定します。 (trueの場合) TRUNCATEがbdr.ddl_locking 設定に従うかどうかを判断します。

グローバルロック

  • bdr.ddl_locking —上記で説明しました。

  • bdr.global_lock_max_locks —ノードで保持できるグローバルロックの最大数(デフォルトは1000)。 Postgresサーバーのスタートにのみ設定できます。

  • bdr.global_lock_timeout —グローバルロックの最大許容待機時間を設定します(デフォルト10分)。ゼロの値はこのタイムアウトを無効にします。

  • bdr.global_lock_statement_timeout —グローバルロックを保持するステートメントの最大許容期間を設定します(デフォルト60分)。ゼロの値はこのタイムアウトを無効にします。

  • bdr.global_lock_idle_timeout —グローバルロックを保持しているトランザクションの最大許容アイドル時間を設定します(デフォルト10分)。ゼロの値はこのタイムアウトを無効にします。

  • bdr.predictive_checks —予測チェックのログレベル(現在、グローバルロックでのみ使用されます)。 DEBUG 、LOG 、WARNING (デフォルト)、またはERROR です。予測チェックは、特定の操作を実行するときに予想されるクラスターの状態の初期の検証です。タイムアウトを待つのではなく、早期に失敗するための操作に使用できます。グローバルロックの用語では、 BDRは、十分なノードが接続されており、グローバルロックに必要なクォーラムを取得するための合理的な遅延制限があることを確認します。

ノード管理

  • bdr.replay_progress_frequency —クラスターの残りの部分にレプリケーション位置情報を送信する間隔(デフォルト1分)。

  • bdr.standby_slot_names —これらのスロットは、他のスロットよりも前にレプリケーションの変更を受信して確認する必要があります。この設定は、主にフェイルオーバーに物理的スタンバイを使用する場合、またはサブスクライブ専用ノードを使用する場合に役立ちます。

汎用レプリケーション

  • bdr.writers_per_subscription —サブスクリプションごとのライターのデフォルト数( BDRでは、グループの bdr.alter_node_group_config でこれを変更することもできます)。

  • bdr.max_writers_per_subscription —サブスクリプションあたりのライターの最大数(上記の設定の上限を設定します)。

  • bdr.xact_replication —現在のトランザクションを複製します(デフォルトはon )。

これをBDRにトランザクションと、トランザクションロジカルデコーディングがローカルのみにロジカルデコーディング可視。データは、ロジカルスタンバイノードを含む他のノードに転送されません。

このパラメータは、 bdr_superuserまたはスーパーユーザロールのみが設定できます。

このパラメータは、 SET LOCAL コマンドを使用して現在のトランザクション内でのみ設定できます。

注釈

トランザクションレプリケーションを無効にしてもWALは生成されますが、これらの変更はオリジンでフィルタリングされます。

警告

bdr.xact_replication をオフにすると、ノード間のデータの一貫性が失われます。ノード間のデータの相違から回復する場合、またはレプリケーションを続行するために単一ノードでの変更が必要なレプリケーションの状況でのみ使用します。ご自身のリスクで使用してください。

  • bdr.permit_unsafe_commands —一般的な使用には安全でないと考えられるコマンドの安全性チェックをオーバーライドするオプション。

bdr_superuser またはPostgreSQLスーパーユーザが必要です。

警告

通常は安全と見なされないコマンドにより、一貫性のない結果が生成されるか、レプリケーションが完全に中断される可能性があります。ご自身のリスクで使用してください。

  • bdr.batch_inserts —単一のトランザクションで1つのテーブルへの連続した挿入の数は、そのテーブルの挿入のバッチ処理をオンにします。

このオプションにより、ラージデータのレプリケーションは、一連の挿入ではなく、内部的にCOPYとしてロードされます。ノード結合時の初期データも同様にコピーされます。

  • bdr.maximum_clock_skew

このオプションは、 bdr.maximum_clock_skew_action をトリガーする前の受信トランザクションコミットタイムスタンプとサブスクライバーの現在の時刻の最大差を指定します。

現在再生されているトランザクションのタイムスタンプが、サブスクライバーの現在時刻と比較して将来かどうかを確認します。そうであり、差がbdr.maximum_clock_skew より大きい場合、 bdr.maximum_clock_skew_action 設定で指定されたアクションを実行します。

デフォルトは-1 で、クロックスキューを無視することを意味します(チェックはオフになっています)。全サーバーの時計を同期させる場合は0が有効です。トランザクションを再生しているという事実は、過去にコミットされたことを意味します。

  • bdr.maximum_clock_skew_action

これは、 bdr.maximum_clock_skew よりも高いクロックスキューが検出された場合のアクションを指定します。

このオプションには 2 つの値があります。

  • WARN —この事実に関するワーニングをログに記録します。サーバーログのフラッディングを防ぐために、警告は最大で1分に1回(デフォルト)ログに記録されます。 - WAIT —現在のローカルタイムスタンプが、リモートコミットタイムスタンプからbdr.maximum_clock_skew を引いたものより古くなくなるまで待ちます。

  • bdr.accept_connections — BDRへの接続を有効または無効にするオプション。デフォルトはon です。

bdr_superuser またはPostgreSQLスーパーユーザが必要です。

bdr.standby_slot_names

このオプションは通常、フェイルオーバー構成で使用され、このBDRノードのフェールオーバー候補のストリーミング物理的レプリカが保証の変更を受信して、サブスクライバーに可視されるようにします。これにより、プロバイダーのスタンバイへのフェイルオーバー時にコミットが消えないことが保証されます。

コンマ区切りのbdr.standby_slot_names リストに名前がリストされているレプリケーションスロットは、 BDRノードのwalsenderによって特別に扱われます。

BDRのロジカルレプリケーションウォルセンダーは、ノードが他のBDRレプリケーションクライアントに送信する前に、すべてのローカル変更がbdr.standby_slot_names のレプリケーションスロットに送信されてフラッシュされるようにします。効果的に、スロットの名前付けリストと他のすべてのレプリケーションクライアントの間に同期レプリケーションバリアを提供します。

bdr.standby_slot_names には、任意のレプリケーションスロットをリストできます。ロジカルスロットと物理的スロットの両方が機能しますが、通常は物理的スロットに使用されます。

このセーフガードがないと、サブスクライバーがコミットを受信し、フェイルオーバー候補がまだそれを受け取っていないために、フェイルオーバー時にプロバイダーから消えるという2つの異常が発生する可能性があります。

  • 1人以上のサブスクライバーの場合、サブスクライバーは変更を適用した可能性がありますが、新しいプロバイダーは受け取った変更と競合する新しいトランザクションを実行可能性があります。

  • 2人以上のサブスクライバーの場合、フェイルオーバー時に、すべてのサブスクライバーが変更を適用していません。コミットを受け取っていないサブスクライバーにはそれを取得する方法がないため、サブスクライバーの状態は一貫していません。

デザインで bdr.standby_slot_names を設定すると、プロバイダーのフェイルオーバー候補レプリカが追いついていない場合、サブスクライバーがプロバイダーよりも遅れます。したがって、モニタリングは不可欠です。

保証が役立つ別のユースケースは、サブスクライバー専用を使用して、サブスクライバー専用ノードが他のBDRノードよりも前に移動しないようにすることです。

bdr.standby_slots_min_confirmed

BDRサブスクライバーにデータを送信する前に確認する必要があるbdr.standby_slot_names の数を制御します。

bdr.writer_input_queue_size

このオプションは、レシーバがライタプロセスにデータを送信するために使用する共有メモリキューのサイズを指定します。ライタプロセスが停止しているか、進行が遅い場合、キューがいっぱいになり、レシーバプロセスも停止する可能性があります。したがって、このキューに十分な共有メモリを提供することが重要です。デフォルトはメガバイトで、許可される最大サイズはギガバイトです。 GUCの設定には任意のストレージサイズ指定子を使用できますが、デフォルトはKBです。

bdr.writer_output_queue_size

このオプションは、レシーバーがライタプロセスからデータをレシーバするために使用する共有メモリキューのサイズを指定します。ライタはラージのデータを送信することは想定されていないため、比較的小さなサイズのキューで十分です。デフォルトは32 KBで、最大許容サイズは1 メガバイトです。 GUCの設定には任意のストレージサイズ指定子を使用できますが、デフォルトはKBです。

bdr.min_worker_backoff_delay

レート制限BDRバックグラウンドワーカの起動は、特定のワーカーがbdr.min_worker_backoff_delay ミリ秒ごとよりも頻繁に再起動されないようにします。エラーが繰り返されると、最大bdr.max_worker_backoff_delay までジッターが追加されると、バックオフが指数関数的に増加します。

時間単位のサフィックスがサポートされています。

注釈

現在、この設定はレシーバワーカーにのみ影響します。つまり、主にサブスクリプションがエラーまたは接続障害時に再接続を試行する速度に影響します。

bdr.min_worker_backoff_delay のデフォルトは1秒です。 bdr.max_worker_backoff_delay の場合は1分です。

バックオフ遅延設定が変更され、 PostgreSQL構成がリロードされると、現在のすべてのバックオフがリセットを待機します。さらに、管理者がすべてのバックオフ間隔を強制的に終了できるように、 エキスパイアファンクションが提供されています。

各タイプのワーカーの最終起動時刻を記憶するために、共有メモリ内の追跡テーブルが維持されます。この追跡テーブルは永続的ではありません。これは、クリーンでないバックエンドが終了した後のクラッシュリカバリ中のソフトリスタートを含む、 PostgreSQLの再起動によってクリアされます。

ビュー :ref:``bdr.worker_tasks`<bdr.worker_tasks>` を使用してこの状態を検査できるため、管理者は現在有効なバックオフレート制限を確認できます。

レート制限の目的で、ワーカーはタスクによって分類されます。このキーは、ワーカーロール、データベースOID、サブスクリプションID、サブスクリプションライタID、拡張機能のライブラリ名前とファンクション名前、拡張機能が提供するワーカー名前、および同期ライターのリモートリレーションID で構成されます。 NULL は、特定の分類子が適用されない場合に使用されます。例、マネージャのワーカーにはサブスクリプションIDがなく、レシーバーにはライタIDがありません。

CRDT

  • bdr.crdt_raw_value —

    CRDTデータ型を使用した列の競合の処理 の出力フォーマットを設定します。デフォルトの出力(この設定がoff

    の場合)は、ベースのCRDTタイプ(例、 crdt_pncounter のbigint)のみを結果ます。 on に設定すると、戻り値はCRDT値の完全な表現形式を表します。例、マルチプルのノードからの状態を含めることができます。

最大準備トランザクション

  • max_prepared_transactions —明示的な2フェーズコミット、CAMO、またはEagerトランザクションによるクラスター全体の同時準備トランザクションの最大数に対処するには、十分に高く設定する必要があります。制限を超えると、ノードでローカル二相コミットまたはCAMOトランザクションを実行できず、クラスター上のすべてのEagerトランザクションが防止されます。これは、 Postgresサーバーのスタートにのみ設定できます。

Eager Replication

  • bdr.commit_scope —コミットスコープをglobal に設定すると、

    eager all node replication (デフォルトはlocal )が有効になります。

  • bdr.global_commit_timeout —グローバル二相コミットの両方のステージ(デフォルトは60秒)と、CAMOパートナーを待機する時間の制限としての、コミットフェーズでのCAMO保護されたトランザクションのタイムアウト。

Commit At Most Once

  • bdr.enable_camo — CAMO機能を有効にして制御するために使用されます。デフォルトはoff です。これをremote_write 、remote_commit_async 、またはremote_commit_flush に設定することで、CAMOをトランザクションごとにオンにできます。下位互換性のために、値 on 、true 、および1 は最も安全なremote_commit_flush モードを設定しますが、 false または0 もCAMOを無効にします。

  • bdr.standby_dsn —ローカルノードのクラッシュ後に変更された場合、接続文字列(DSN)のマニュアルオーバーライドがCAMOパートナーに到達することを許可します。通常は設定されていません。 Postgresサーバーのスタートにのみ設定できます。

  • bdr.camo_local_mode_delay —トランザクションを確認する必要があるCAMOパートナーで通常発生するオーバーヘッドをエミュレートにCAMOのローカルモードで適用されるコミット遅延。デフォルトは5ミリ秒です。この機能を無効にするには 0 に設定します。

  • bdr.camo_enable_client_warnings — CAMOプロパティを保証できないデータベースでアクティビティが実行された場合に警告を発します。これはデフォルトで有効になっています。十分な情報を得たユーザーは、これを無効にして、ログに記録される警告の量を減らすことができます。

  • synchronous_replication_availability — CAMOパートナーが切断された後にノードが続行してコミットできるようにすることにより、可用性を高めるためにオプションでasync にすることができます。デフォルト値のwait では、ノードは無期限に待機し、CAMOパートナーが再接続して確認を送信した後にのみコミットに進みます。

トランザクションストリーミング

  • bdr.default_streaming_mode —サブスクライバーノードによるトランザクションストリーミングを制御するために使用されます。許可される値は次のとおりです。off 、writer 、file 、およびauto 。デフォルトはauto です。 off に設定されている場合、サブスクライバーはトランザクションストリーミングを要求しません。他の値に設定されている場合、サブスクライバーはトランザクションストリーミングを要求し、パブリッシャーはそれらをサポートしており、グループレベルで構成されている場合に提供します。詳細については、

    トランザクションストリーミング を参照してください。

ラグ制御

  • bdr.lag_control_max_commit_delay —許容できる最大許容ポストコミット遅延(ミリ秒単位)。

  • bdr.lag_control_max_lag_size —許容できる最大ラグサイズ( キロバイト)。

  • bdr.lag_control_max_lag_time —許容できる最大遅延時間(ミリ秒)。

  • bdr.lag_control_min_conforming_nodes —許容可能なラグメジャーを下回るために必要なノードの最小数。

  • bdr.lag_control_commit_delay_adjust —コミット遅延のマイクロ調整は、最大コミット遅延時間の割合として測定されます。デフォルト値の0.01%では、最大コミット遅延に到達するには正味100回のインクリメントが必要です。

  • bdr.lag_control_sample_interval —遅延サンプルとコミット遅延のマイクロ調整間の最小時間(ミリ秒)。

  • bdr.lag_control_commit_delay_start —許容可能なラグメジャーの割合として表される、コミット遅延の増分の適用がスタートされるラグのしきい値。デフォルト値の1.0%では、許容可能なラグ測定値を超えるまでコミット遅延のインクリメントは開始されません。

より小さい割合を設定することで、より早く「ラグ曲線を曲げ」て、許容可能なラグメジャーで漸近することにより、違反を防止できる場合があります。

タイムスタンプベースのスナップショット

  • snapshot_timestamp —

    タイムスタンプベースのスナップショット の使用をオンにし、使用するタイムスタンプを設定します。

  • bdr.timestamp_snapshot_keep —タイムスタンプベースのsnapshotで使用する有効なスナップショットを保持する時間(デフォルトは0 、過去のスナップショットを保持しないことを意味します)。

モニタリングとロギング

  • bdr.debug_level — BDRがデバッグメッセージを書き込むために使用するログレベルを定義します。デフォルト値はdebug2 です。詳細なBDRデバッグ出力を見たい場合はbdr.debug_level = 'log' を設定してください。

  • bdr.trace_level —上記と同様に、これはBDRトレースメッセージに使用するログレベルを定義します。 BDRクラスターのすべてのノードでトレースを有効にすると、 EDBサポートが問題を診断するのにヘルプ場合があります。これは、 Postgresサーバーのスタートにのみ設定できます。

稼動 ディスクスペースまたはローテーションを値>= フィルタリングに設定すると、非常にラージのログ出力が生成される可能性がありログ。

  • bdr.track_subscription_apply —各サブスクリプションの適用統計を追跡します。

  • bdr.track_relation_apply —各リレーションの適用統計を追跡します。

  • bdr.track_apply_lock_timing —リレーションの統計を追跡するときにロックのタイミングを追跡します。

内部

  • bdr.raft_keep_min_entries &mdash;ログコンパクションを行うときにRaftログに保持するエントリーの最小数(デフォルト100)。値0はログの圧縮を無効にします。これは、 Postgresサーバーのスタートにのみ設定できます。 .. Warning :: ログの圧縮が無効になっている場合、ログのサイズは永久に大きくなります。

  • bdr.raft_response_timeout —ネットワーク障害に対応するために、実装されたRaftコンセンサスプロトコルは一定の時間が経過するとリクエストをタイムアウトしアカウント。このタイムアウトのデフォルトは30秒です。

  • bdr.raft_log_min_apply_duration —ステートマシンを前進させるために、Raftはエントリをその内部ログに追加します。通常のオペレーション中、追加には数ミリ秒しかかかりません。これにより、その追加アクションの期間に上限しきい値が設定され、それを超えると INFO メッセージがログに記録されます。これは問題を示している可能性があります。このパラメータのデフォルト値は3000ミリ秒です。

  • bdr.raft_log_min_message_duration —コンセンサスリクエストをログに記録する場合。 bdrコンセンサスリクエストのラウンドトリップ時間を測定し、時間がこのパラメータを超える場合はINFO メッセージをログに記録します。このパラメータのデフォルト値は5000ミリ秒です。

  • bdr.raft_group_max_connections — PostgresサーバーのすべてのBDRグループにわたる接続の最大数。これらの接続は、グループのノード間でbdrコンセンサス要求を運びます。このパラメータのデフォルト値は100接続です。 Postgresサーバーのスタートにのみ設定できます。

  • bdr.backwards_compatibility — bdr.bdr_version_num で使用されるのと同じ数値フォーマット、たとえば、 30618 で、下位互換性のあるバージョンを指定します。一般的に望ましくない効果がある場合でも、以前のBDRバージョンの正確な動作を有効にします。デフォルトは現在のBDRバージョンです。これはリリースごとに異なるため、値が現在のリリースと異なる場合を除き、構成ファイルで明示的に使用しないことをお勧めしバージョン。

  • bdr.track_replication_estimates —同等なの適用率とキャッチアップ間隔に関するレプリケーションの見積もりを追跡します。 CAMOのようなプロトコルは、この情報を使用して、同等なの準備ができているかを推定できノード。このパラメータはデフォルトで有効になっています。

  • bdr.lag_tracker_apply_rate_weight —ローカルノードからのWALの適用に関して同等ながどの程度遅れているかをモニタし、ラグトラッキングの適用率の移動平均を計算します。このパラメータは、新しい計算値がこの移動平均計算にどの程度寄与するかを指定します。デフォルト値は0.1です。