On Wednesday 03 September 2003 17:24, Bo Lorentsen wrote:
> 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 :-)
>
Any other way, a lot of (my) code will become useless :-(
Regards !