Re: Using oids

From: Bo Lorentsen <bl(at)netgroup(dot)dk>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Using oids
Date: 2003-09-03 15:24:11
Message-ID: 1062602651.7851.146.camel@localhost
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

On Wed, 2003-09-03 at 16:13, Tom Lane wrote:

> The reason OIDs shouldn't be considered unique is that there is no
> mechanism to enforce that they are unique --- unless you make one,
> that is, create a unique index on OID for a table. The system does
> not do that for you since it would be excessive overhead for tables
> in which the user doesn't care about OID uniqueness. But I'd
> definitely recommend it if you are using OIDs for row identifiers.
Ok, so my little INSERT / SELECT show will continue to work for a long
time, as I only uses the oids on short term bacis.

> If you want a globally unique ID based on OIDs, use the table OID
> concatenated with the row OID.
Ok, this make sense !

> No, there isn't. There is only ctid, which is not useful as a long-term
> row identifier, because UPDATE and VACUUM can change it.
But there is no way for the client user to user these in a
"PQgetLastCtid" and "SELECT * from zxy where ctid = 42", so this will
not help :-)

Thanks anyway, may oid's live for a long time, and one day become grown
up 64 bit values :-)

/BL

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Martijn van Oosterhout 2003-09-03 15:28:24 Re: Using oids
Previous Message Tom Lane 2003-09-03 15:23:53 Re: Localization (for dates) Oracle vs. Postgresql

Browse pgsql-hackers by date

  From Date Subject
Next Message Martijn van Oosterhout 2003-09-03 15:28:24 Re: Using oids
Previous Message Alvaro Herrera Munoz 2003-09-03 15:14:00 Re: ~* operator