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