Subject: postgres attributes

From: [email-masked] (Alfredo Sanchez)
Date: Tue, 4 Feb 92 10:29:22 -0800

where can i find documentation and/or examples on
the use of the attributes assigned by postgres to
all of the classes created?
i mean:

| ctid        |
---------------
| lock        |
---------------
| oid         |
---------------
| xmin        |
---------------
| cmin        |
---------------
| xmax        |
---------------
| cmax        |
---------------
| chain       |
---------------
| anchor      |
---------------
| tmin        |
---------------
| tmax        |
---------------
| vtype       |
---------------

thanx a lot,

J Alfredo Sanchez H
-------------------
Hypertext Research Lab
Department of Computer Science
Texas A&M University

p.s. is it usual the amount of people asking to be dropped
     from the mailing list these days?

---

From: postarch (Postgres Mailing Archive)
Date: Tue, 04 Feb 92 19:04:29 PST

> all of the classes created?

As far as I can tell it is not available. Most of these attributes
are only useful to the system.  I can give you a (very) brief description 
of each...

This is the tuple id.  It uniquely identifies the tuple within its
relation.  Probably only useful in functions in the backend.

used to hold rule lock information.

Object identifier.  Uniquely identifies the tuple (object) in the database.
There are more uses for this than I can possibly enumerate.

I believe this holds the transaction id which created the tuple.

and this holds the transaction id which updated or delete the tuple.

command id in which the tuple was created.  Postgres keeps command id's
so that updates inside of one transaction might be visible later inside
that same transaction.

command id in which the tuple was updated or deleted.

I believe this is intended for use in tuple a differencing scheme. It stores
the tuple id of the tuple that was replaced when this tuple was created.
We don't do tuple differencing so this gets set but is currently unused.

Anchor is no longer used and I don't know what purpose it used to serve.

The abstime at which the tuple was created and became valid.  Used in 
time range queries.

The abstime at which the tuple updated or deleted.  Also used in time range 
queries, it defines the endpoint (latest time) for the time interval in which 
the tuple is valid (epoch when the tuple is still valid).

This one is also a mystery to me. You probably shouldn't worry about it.

Jeff Meredith
[email-masked]