2020-05-29
关于PostgreSQL 事务ID回归0的讨论的讨论
1、PostgreSQL的事务ID为32位无符号整型,大约一共40亿个,为了避免发生过去数据突然变成未来数据,导致数据丢失问题,官方建议事务ID达到20亿时就需要进行vacuum freeze。但是这个真的避免数据丢失的问题么?
例如,我的当前事务ID为39亿多,我对全库做了一次vacuum freeze ,表的所有行的xmin变成了2,如果我插入新的数据,那么xmin为当前事务id,接近40亿,那当数据库的事务ID达到40亿需要回归到3时,那么这些vacuum freeze后插入数据的xim大于当前事务ID,属于未来数据,无法被数据库读取,我目前想不到我哪些理解有误。
我来答
添加附件
收藏
分享
问题补充
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

