在 PostgreSQL 中,、、 和 是数据行(Tuple/元组)头部信息(Tuple Header)中极其重要的四个系统字段。它们是 PostgreSQL 实现 MVCC(多版本并发控制) 的核心基石。 PostgreSQL 在更新数据时,并不会直接覆盖原有的数据,而是插入一条新数据,并标记老数据被“删除”。这四个字段就是用来记录和追踪这些数据版本的“生命周期”的。 以下是它们的详细解释: 1. (Insert Transaction ID) 含义: 插入事务的 ID。它记录了是哪一个事务(Transaction ID,简称 XID)创建(插入)了这条数据行。 触发时机: 当执行 或者 操作时,新产生的数据行会被打上当前事务的 ID 作为 。 作用: 它标志着这条数据的 “诞生”。只有当系统的当前事务 ID 大于或等于 ,且 对应的事务已经提交时,这条数据对当前事务才是可见的。 2. (Delete Transaction ID) 含义: 删除/更新事务的 ID,或者行锁事务 ID。它记录了是哪一个事务删除了这条数据行。 触发时机: 默认情况下,新插入的数据 为 0(表示未被...