暂无图片
pg中各种年龄的疑问
我来答
分享
暂无图片 匿名用户
pg中各种年龄的疑问

1 。元祖的年龄和表的年龄如何理解??


2.如何理解pg中年龄的概念??


3.如何理解冻结??

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
沈克伟

数据库的年龄是指数据库中表的年龄,可以查询select datname,datfrozenxid from pg_database。年龄是指当前系统事务号减去事务发生时的事务号的差值,因此在早期插入的数据行,随着事务号的分配,年龄会越来越大

PG的版本号是uint32的,是重复使用的,所以每隔大约20亿个事务后,必须要冻结,否则记录会变成未来的,对当前事务”不可见”。同一个数据库中,存在的最旧和最新两个事务之间的年龄最多是2^31,即20亿.当表的年龄大于autovacuum_freeze_max_age时(默认是2亿),autovacuum进程会自动对表进行freeze。另外命令行执行vacuum freeze是全表freeze,数据库表的现有行版本都算冻结了。

暂无图片 评论
暂无图片 有用 2
nanjing_2013
2022-01-21
请问如果我手都执行vacuum freeze 某个表a ,但是freeze没有执行完成,那么表a是否能正常读写?
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏