実稼働 PostgreSQL で 1 つの問題に直面しています。これは、基本的に XID 範囲の制限を超えるラップアラウンドの問題に関連しています。
この PostgreSQL プロダクションは、大量のトランザクションと一括挿入で 1 年以上実行されています。
私はグーグルでたくさん検索しましたが、この重大なエラーについて混乱し、非常に恐れています。現在、バキュームまたは自動バキューム中にこのエラーが発生しています。約 250 GB の Postgres 運用データベースがあり、すべてのテーブルに自動バキュームも設定しています。
Error and Warning are:
WARNING: oldest xmin is far in the past
HINT: Close open transactions soon to avoid wraparound problems.
現在開いているトランザクションも確認しましたが、Postgres セッションで実行時間の長いトランザクションはありません。
Current database age of XID :
Database Age
"template1"; 153163876
"template0"; 153163876
"postgres"; 153163876
"dispatcher"; 153163876
"qate"; 195568300
上記の結果は、以下のクエリを使用して取得しました:
SELECT datname, age(datfrozenxid) FROM pg_database;
すぐに本番データベースに問題が発生するため、できるだけ早く入力を提供してください。