Sql 博士后综合问题

Sql 博士后综合问题,sql,postgresql,transactions,postgresql-9.3,vacuum,Sql,Postgresql,Transactions,Postgresql 9.3,Vacuum,我在生产PostgreSQL时遇到了一个问题,这与基本上超出XID范围限制的概括问题有关 此PostgreSQL产品运行了一年多,事务和批量插入负载非常大 我在谷歌上搜索了很多,但对这个严重的错误感到困惑和害怕。现在我在任何真空或自动真空过程中都会遇到这个错误。 我有大约250 GB的Postgres产品数据库,我还为所有表设置了自动真空 Error and Warning are: WARNING: oldest xmin is far in the past HINT: Close o

我在生产PostgreSQL时遇到了一个问题,这与基本上超出XID范围限制的概括问题有关

此PostgreSQL产品运行了一年多,事务和批量插入负载非常大

我在谷歌上搜索了很多,但对这个严重的错误感到困惑和害怕。现在我在任何真空或自动真空过程中都会遇到这个错误。 我有大约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;

请尽快提供您的输入,因为很快,这将给我的生产数据库带来问题。

如果您有能力强制关闭打开的事务:

SELECT pg_terminate_backend(procpid)
FROM   pg_stat_activity
WHERE  datname = 'mydb';
然后,自动真空可以冻结行,也可以手动运行
VACUUM
。您可能需要暂时阻止新交易。以下是详细说明:

。。除非您不
删除
数据库。只要用真空吸尘器就行了


或者Postgres将强制关闭以防止数据丢失

如果您有能力强制关闭未结交易:

SELECT pg_terminate_backend(procpid)
FROM   pg_stat_activity
WHERE  datname = 'mydb';
然后,自动真空可以冻结行,也可以手动运行
VACUUM
。您可能需要暂时阻止新交易。以下是详细说明:

。。除非您不
删除
数据库。只要用真空吸尘器就行了


或者Postgres将强制关闭以防止数据丢失

如果您有能力强制关闭未结交易:

SELECT pg_terminate_backend(procpid)
FROM   pg_stat_activity
WHERE  datname = 'mydb';
然后,自动真空可以冻结行,也可以手动运行
VACUUM
。您可能需要暂时阻止新交易。以下是详细说明:

。。除非您不
删除
数据库。只要用真空吸尘器就行了


或者Postgres将强制关闭以防止数据丢失

如果您有能力强制关闭未结交易:

SELECT pg_terminate_backend(procpid)
FROM   pg_stat_activity
WHERE  datname = 'mydb';
然后,自动真空可以冻结行,也可以手动运行
VACUUM
。您可能需要暂时阻止新交易。以下是详细说明:

。。除非您不
删除
数据库。只要用真空吸尘器就行了


或者Postgres将强制关闭以防止数据丢失

你能负担得起强制关闭打开的事务吗?谢谢Erwin,但是我没有发现PostgreSQL有任何长时间运行的进程。那么一个普通的真空
应该能够完成它的工作…你能负担得起强制关闭打开的事务吗?谢谢Erwin,但是我没有发现PostgreSQL有任何长时间运行的过程。那么一个普通的真空
应该可以完成它的工作了…你能负担得起强制关闭打开的事务吗?谢谢Erwin,但是我没有发现PostgreSQL有任何长时间运行的进程。那么一个普通的真空
应该能够完成它的工作…你能负担得起强制关闭打开的事务吗?谢谢Erwin,但是我没有发现PostgreSQL有任何长时间运行的进程。那么一个普通的真空
应该能够完成它的工作…在我的情况下,问题进程是空闲事务。另一个症状是自动真空辅助进程未运行。当我按照上面所述进行pg_terminate_后端调用时,autovacuum workers返回,pg_日志警告消失。在我的情况下,问题进程是空闲事务。另一个症状是自动真空辅助进程未运行。当我按照上面所述进行pg_terminate_后端调用时,autovacuum workers返回,pg_日志警告消失。在我的情况下,问题进程是空闲事务。另一个症状是自动真空辅助进程未运行。当我按照上面所述进行pg_terminate_后端调用时,autovacuum workers返回,pg_日志警告消失。在我的情况下,问题进程是空闲事务。另一个症状是自动真空辅助进程未运行。当我按照上面所述进行pg_terminate_后端调用时,autovacuum工作人员返回,pg_日志警告消失。