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

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 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。