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
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 |
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 |