3.2.3. WAL ディスク容量の消費


特定のケースでは、WAL ファイルが消費する PostgreSQL ディスク領域が急増するか、通常の比で増加する可能性があります。状況を説明する可能性のある理由は 3 つあります。

  • Debezium は、定期的に、処理されたイベントの LSN をデータベースに対して確認します。これは pg_replication_slots スロットテーブルのよう confirmed_flush_lsn に表示されます。データベースはディスク領域の回収を担当し、WAL サイズは restart_lsn 同じテーブルから計算できます。したがって、confirmed_flush_lsn が定期的に増加し、ラグの場合には、データベースは領域を回収する必要 restart_lsn があります。ディスク領域は通常バッチブロックで回収されるため、これは予想される動作であり、ユーザーの側での動作は必要ありません。
  • 監視対象のデータベースには多くの更新がありますが、対象のテーブルやスキーマ、もしくはスキーマに関連するのは、逆累積量のみです。この状況は、heartbeat.interval.ms 設定オプションを使用して定期的なハートビートイベントを有効にすることで簡単に解決できます。
  • PostgreSQL インスタンスには複数のデータベースが含まれ、その 1 つが高トラフィックのデータベースになります。Debezium は、他のデータベースと比較すると、トラフィックの低い別のデータベースを監視します。Debezium は LSN をデータベースごとにレプリケーションスロットが機能するため、Debezium が呼び出されないため、確認することができません。WAL はすべてのデータベースで共有されるため、Debezium が監視するデータベースがイベントを出力するまで拡大する傾向があります。

3 番目の原因を解決するには、

  • heartbeat.interval.ms 設定オプションを使用した定期的なハートビートレコード生成を有効にします。
  • Debezium が追跡するデータベースから変更イベントを定期的に出力します。

その後、別のプロセスはテーブルを定期的に更新します(新しいイベントを挿入するか、すべて同じ行を更新します)。その後、PostgreSQL は、最新の LSN を確認し、データベースが WAL 領域を回収できるようにする Debezium を呼び出します。このタスクは、heartbeat.action.query コネクターオプションを使用して自動化できます(下記参照)。

ヒント

Postgres を使用した AWS RDS のユーザーの場合、3 つ目の原因がアイドル環境で発生する可能性があります。これは、AWS RDS が独自のシステムテーブルに書き込みを行い、頻繁にユーザーに認識されないため(5 分)。イベントを定期的に出力すると、問題は解決されます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る