PostgreSQL User's Guide
Prev | Chapter 2. SQL Syntax | Next

# Fields and Columns

## Fields

A field is either an attribute of a given class or one of the following:

oid

  stands for the unique identifier of an instance which is added by Postgres to all instances automatically. Oids are not reused and are 32 bit quantities.

xmin

  The identity of the inserting transaction.

xmax

  The identity of the deleting transaction.

cmin

  The command identifier within the transaction.

cmax

  The identity of the deleting command.

For further information on these fields consult Stonebraker, Hanson, Hong, 1987. Times are represented internally as instances of the `abstime` data type. Transaction and command identifiers are 32 bit quantities. Transactions are assigned sequentially starting at 512.

## Columns

A column is a construct of the form:

    instance{.composite_field}.field `['number`]'

`instance` identifies a particular class and can be thought of as standing for the instances of that class. An instance variable is either a class name, a surrogate for a class defined by means of a FROM clause, or the keyword NEW or CURRENT. NEW and CURRENT can only appear in the action portion of a rule, while other instance variables can be used in any SQL statement. `composite_field` is a field of of one of the Postgres composite types, while successive composite fields address attributes in the class(s) to which the composite field evaluates. Lastly, `field` is a normal (base type) field in the class(s) last addressed. If `field` is of type `array`, then the optional `number` designator indicates a specific element in the array. If no number is indicated, then all array elements are returned.

Prev | Home | Next
Constants | Up | Operators