高可用性オプション
2 つのスタンバイ
1 スタンバイ
スタンバイなし
スタンバイと読み取りレプリカの違い
スタンバイが読み取りクエリを受け付けない理由
- WAL リプレイとの競合: 書き込み負荷の高いワークロードでは、スタンバイ上の読み取りクエリが WAL リプレイとシステムリソースを巡って競合します。この競合によりレプリケーションラグが大きくなり、スタンバイがプライマリに後れを取ることがあります。スタンバイにラグがある状態でフェイルオーバーが発生すると、最新のデータを反映しておらず、正常に引き継げない可能性があります。
-
VACUUM への干渉: スタンバイ上で長時間実行される読み取りクエリは、プライマリで
VACUUM(およびAUTOVACUUM) が不要なタプルをクリーンアップするのを妨げることがあります。PostgreSQL は、いずれかのレプリカ上で実行中のクエリがまだアクセスする可能性のある行を削除できません。その結果、時間の経過とともにテーブルの肥大化やパフォーマンス低下を招くおそれがあります。