暂无图片
PostgreSQL ERROR: found xmin 2146512304 from before relfrozenxid 2146512317
我来答
分享
有问题吗?
2023-08-23
PostgreSQL ERROR: found xmin 2146512304 from before relfrozenxid 2146512317

psql (10.12.X.9)
lisdb=# vacuum FREEZE pg_class
lisdb-# ;
ERROR: found xmin 2146512304 from before relfrozenxid 2146512317 有大佬遇见过吗? 重启和删除pg_internal.init 文件都不起作用

我来答
添加附件
收藏
分享
问题补充
7条回答
默认
最新
redgame
这是那个经典bug,什么版本?更新吧
暂无图片 评论
暂无图片 有用 0
打赏 0
陈陈

可以通过两种方式进行修复

1.重启数据库,重启后会重新读入新数据内容到relcache中,相当于刷新relcache。

2.删除$PGDATA/global/pg_internal.init,这个文件就是存储的relcache的内容,有新的连接连入会创建新的pg_internal.init文件。

暂无图片 评论
暂无图片 有用 1
打赏 0
有问题吗?

试过了,没啥用。 

暂无图片 评论
暂无图片 有用 0
打赏 0
My1492

一个xmin(最事务ID)比relfrozenid(表的早冻结事务ID)还大的情况在PostgreSQL,当执行VACUUM操作,会将relxid设置为一个比当前活动事务都要小的值。如果VACUUM之前,已经有xmin比frozenxid大的事务存在,就会导致这个错误。

暂无图片 评论
暂无图片 有用 0
打赏 0
有问题吗?

大佬,目前的情况是:

rowa:   xmin  100   relforzenid 120 , 

执行vacuum 报错:ERROR: found xmin 100 from before relfrozenxid 120 

update 原行后:

rowa:  xmin 140  relforzenid  120  

执行一次 vacuum 操作,vacuum执行成功

rowa: xmin 140  relforzenid   145

继续执行vacuum 报错。   ERROR: found xmin 140 from before relfrozenxid 145

就是不知道为啥在vacuum 操作后,会将relxid设置为一个比当前活动事务还要大的值? 大佬这个有了解吗?

暂无图片 评论
暂无图片 有用 0
打赏 0
胡飞

在处理 PostgreSQL 中出现的 "ERROR: found xmin from before relfrozenxid" 错误时,重启和删除 `pg_internal.init` 文件通常不是解决此类问题的有效方法。这个错误通常意味着数据库中存在一些不一致的事务ID信息,可能需要更深入的排查和处理。以下是一些可能的进一步操作:

1. **手动执行 VACUUM 操作:** 尝试手动对受影响的表执行 VACUUM FULL 命令。这可以强制重新写入整个表并更新 relfrozenxid。但要注意,VACUUM FULL 可能会导致数据库锁定和性能下降,因此在生产环境中谨慎使用。

2. **分析日志文件:** 详细分析 PostgreSQL 的日志文件,查看是否有其他错误、警告或异常情况。这可以提供更多关于问题的线索,并有助于确定更进一步的解决方案。

3. **检查数据库完整性:** 使用 `pg_controldata` 工具检查数据库的一致性和完整性。这可能会提供有关数据库状态的更多信息,并可能提供修复数据库的建议。

4. **备份和恢复:** 如果其他方法都无效,并且数据的一致性和完整性受到严重威胁,可能需要考虑从最近的备份中恢复数据库。这将回滚数据库到备份时的状态,并可以解决潜在的数据一致性问题。

5. **PostgreSQL 社区支持:** 如果您仍然无法解决问题,建议向 PostgreSQL 社区寻求支持。在 PostgreSQL 官方邮件列表或论坛上提出您的问题,可能会得到更多专业的帮助和建议。

在执行任何操作之前,请务必备份数据库,以避免不可逆的损失。因为对数据库进行操作可能会对数据产生影响,尤其是在处理可能影响数据库一致性的问题时,更要谨慎行事。

暂无图片 评论
暂无图片 有用 0
打赏 0
有问题吗?

解决了,把源码的可执行文件重新替换了一下。然后表更新XMIN后重新VACUUM。

暂无图片 评论
暂无图片 有用 0
打赏 0
梧桐
2025-03-13
搞定了就关闭吧
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏