↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 7.2 / 7.1
历史版本PostgreSQL 7.1 已于 2006 年 4 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

1.2. 列 #

一个列既可以是给定表的一个用户定义列,也可以是下列系统定义列之一:

oid

一行的唯一标识符(对象 ID)。这是由 Postgres 自动为所有行添加的一个序列号。OID 不会被重用,并且是 32 位的量。

tableoid

包含该行的表的 OID。对于从继承层次中选择的查询来说,这个属性特别有用,因为没有它就很难分辨一行来自哪个具体的表。tableoid 可以与 pg_class 的 OID 属性连接来获得表名。

xmin

插入该元组的事务的标识(事务 ID)。(注意:元组是一行的单个状态;对一行的每次 UPDATE 都会为同一逻辑行创建一个新元组。)

cmin

插入事务内部的命令标识符(从零开始)。

xmax

删除事务的标识(事务 ID),对于未删除的元组为零。实践中,在一个可见元组中它从不为非零。

cmax

删除事务内部的命令标识符,或为零。同样,它在一个可见元组中从不为非零。

ctid

该元组在其表中的元组 ID。这是一对(块号,块内元组索引),标识该元组的物理位置。注意,虽然 ctid 可以用来非常快速地定位元组,但一行的 ctid 在每次被更新或被 VACUUM 移动时都会改变。因此 ctid 作为长期行标识符是没有用的。应该使用 OID,或者更好的是用户定义的序列号来标识逻辑行。

关于系统属性的更多信息请参阅 Stonebraker, Hanson, Hong, 1987 。 事务和命令标识符都是 32 位的量。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。