PostgreSQL 大表自动 freeze 优化思路

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

PostgreSQL 大表自动 freeze 优化思路

德哥 2016-05-20 17:59:59 浏览3809
展开阅读全文

有没有被突发的IO惊到过,有没有见到过大量的autovacuum for prevent wrap。
本文依依解开这些头痛的问题。

PostgreSQL 的版本冻结是一个比较蛋疼的事情,为什么要做版本冻结呢?
因为PG的版本号是uint32的,是重复使用的,所以每隔大约20亿个事务后,必须要冻结,否则记录会变成未来的,对当前事务"不可见"。
冻结的事务号是2

src/include/access/transam.h
#define InvalidTransactionId            ((TransactionId) 0)
#define BootstrapTransactionId          ((TransactionId) 1)
#define FrozenTransactionId          

网友评论

登录后评论
0/500
评论
德哥
+ 关注
所属云栖号: 阿里云数据库ApsaraDB