1,每次insert ,该行的xmin填充为该次insert的xid,xmax填充为0
2,每次update, 旧行的xmin不变,旧行的xmax填充为该次update的xid。
新行的xmin填充为该次update的xid,新行的xmax填充为0
3,每次delete,被delete的行的xmin不变,xmax填充为该次delete的xid
4,一个database里面的事务id从3开始,不停递增,达到最大值(2的31次方,大概是21亿(2147483648))后,再从3开始。
5,同一个数据库里面每个表的xid的增加,都会导致databse的xid同步增加。
6,UPDATE 实际上是创建一行新纪录,而 DELETE 并不真正的删除记录(它只是简单的把记录标记成已删除然后设置XID的值)。当update和delete完成后,数据库里会存在一些对以后的事务永远不可见的记录。它们被称作dea
postgresql vacuum 与 transaction ID wraparound 总结
最新推荐文章于 2023-02-27 22:33:57 发布