1条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
匿名用户1 。元祖的年龄和表的年龄如何理解??
2.如何理解pg中年龄的概念??
3.如何理解冻结??
数据库的年龄是指数据库中表的年龄,可以查询select datname,datfrozenxid from pg_database。年龄是指当前系统事务号减去事务发生时的事务号的差值,因此在早期插入的数据行,随着事务号的分配,年龄会越来越大
PG的版本号是uint32的,是重复使用的,所以每隔大约20亿个事务后,必须要冻结,否则记录会变成未来的,对当前事务”不可见”。同一个数据库中,存在的最旧和最新两个事务之间的年龄最多是2^31,即20亿.当表的年龄大于autovacuum_freeze_max_age时(默认是2亿),autovacuum进程会自动对表进行freeze。另外命令行执行vacuum freeze是全表freeze,数据库表的现有行版本都算冻结了。
评论
有用 2
墨值悬赏