2.2.3. WAL ディスク領域の使用


場合によっては、WAL ファイルによって使用される PostgreSQL ディスク領域が急増したり、通常の比例を上回ったりする可能性があります。この状況を説明する可能性のある理由は 3 つあります。

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

3 番目の原因を解決するには、以下を行う必要があります。

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

その後、別のプロセスがテーブルを定期的に更新します(新しいイベントを挿入したり、同じ行をすべて更新したりします)。次に PostgreSQL は Debezium を呼び出して、最新の LSN を確認し、データベースが WAL 領域を回収できるようにします。

ヒント

Postgres を使用した AWS RDS のユーザーの場合は、AWS RDS が頻繁にユーザーに表示されないため、3 つ目の原因と同様の状況がアイドル状態の環境で発生する可能性があります。再びイベントを定期的に出力すると、問題が解決されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

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

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

会社概要

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

© 2024 Red Hat, Inc.