1.2. Columns
A column is either a user-defined column of a given table or one of the following system-defined columns:
- oid
The unique identifier (object ID) of a row. This is a serial number that is added by Postgres to all rows automatically. OIDs are not reused and are 32-bit quantities.
- tableoid
The OID of the table containing this row. This attribute is particularly handy for queries that select from inheritance hierarchies, since without it, it's difficult to tell which individual table a row came from. The tableoid can be joined against the OID attribute of pg_class to obtain the table name.
- xmin
The identity (transaction ID) of the inserting transaction for this tuple. (Note: a tuple is an individual state of a row; each UPDATE of a row creates a new tuple for the same logical row.)
- cmin
The command identifier (starting at zero) within the inserting transaction.
- xmax
The identity (transaction ID) of the deleting transaction, or zero for an undeleted tuple. In practice, this is never nonzero for a visible tuple.
- cmax
The command identifier within the deleting transaction, or zero. Again, this is never nonzero for a visible tuple.
- ctid
The tuple ID of the tuple within its table. This is a pair (block number, tuple index within block) that identifies the physical location of the tuple. Note that although the ctid can be used to locate the tuple very quickly, a row's ctid will change each time it is updated or moved by VACUUM. Therefore ctid is useless as a long-term row identifier. The OID, or even better a user-defined serial number, should be used to identify logical rows.
For further information on the system attributes consult Stonebraker, Hanson, Hong, 1987 [source reference unavailable] [source chapter]. Transaction and command identifiers are 32-bit quantities.
Report a documentation issue
Read the upstream documentation. For corrections, first check the current manual.
Historical source references (1)
Some targets are absent from this original edition. Those references are marked in the text; the original URI remains available here.
biblio.html#STON87A