1. ctid 列:
ctid 列是一个系统列,用于标识表中的物理行。每个 ctid 值由一个块号和项号组成,指示行在表中的位置。
SELECT ctid, * FROM example_table;
2. oid 列:
oid 列是一个系统列,用于标识表中的对象标识符(Object Identifier)。在 PostgreSQL 9.1 版本及之后,默认情况下,用户定义的表不再具有 oid 列。可以通过在创建表时明确指定 WITH OIDS 选项来启用 oid 列。
CREATE TABLE example_table WITH OIDS (
oid_column oid,
-- 其他列
);
3. xmin 和 xmax 列:
xmin 表示插入或更新行的事务 ID,而 xmax 表示删除行的事务 ID。这些列用于维护多版本并发控制(MVCC)系统。
SELECT xmin, xmax, * FROM example_table;
4. tableoid 列:
tableoid 列是一个系统列,表示包含行的表的对象标识符。它用于标识表中的数据来自于哪个表。
SELECT tableoid, * FROM example_table;
请注意,tableoid 列在包含继承关系的父表中会返回子表的 tableoid 值。
这些系统列通常在进行系统级别的操作或者进行性能调优时使用。在正常的应用程序开发中,它们通常不会直接用到。
转载请注明出处:http://www.zyzy.cn/article/detail/8125/PostgreSQL