我的生产 PostgreSQL 面临一个问题,这与环绕问题有关,主要是因为 XID 范围超出限制。
这个 PostgreSQL 生产运行了 1 年多,有大量的事务和批量插入。
我在谷歌搜索了很多,但对这个严重错误感到困惑和害怕。现在我在任何吸尘或自动吸尘过程中都会遇到这个错误。我有大约 250 GB 的 Postgres 生产数据库,并且我还为所有表设置了 auto-vacuum。
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;
请尽快提供您的输入,因为很快,这会给我的生产数据库带来问题。