Re: Understanding oid for a record

From: Richard Huxton <dev(at)archonet(dot)com>
To: "Brusser, Michael" <Michael(dot)Brusser(at)matrixone(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Understanding oid for a record
Date: 2006-12-18 18:00:32
Message-ID: 4586D740.3060105@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Brusser, Michael wrote:
> I ran into a situation with the query that needs to fetch the last
> record from the table.
> The table schema wasn't really designed to support this, (no serial id,
> or anything else I could use)
> so SQL makes use of max(create_date) which has a resolution of 1 second
> and thus allows for duplicate values.
>
> I was thinking about using max(oid), but I don't know if there's any
> rotation or recycling possible there...
> Can I assume that oid for any new record will be larger than oid on any
> other existing rows?

You probably don't have an OID if you're using a recent version of PG
(unless you specifically asked for one). If you do, you're not
guaranteed ordering. Or uniqueness IIRC.

You can increase the accuracy of the timestamp - that might help, but
you probably need to think about what you mean by "last".

Oh, and this question isn't really for the hackers list. Perhaps the
general or sql lists instead?

--
Richard Huxton
Archonet Ltd

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2006-12-18 18:04:40 Re: Understanding oid for a record
Previous Message Tom Lane 2006-12-18 17:56:49 Re: pg_restore fails with a custom backup file