Re: Use of OIDS as primary keys

From: Elaine Lindelef <eel(at)cognitivity(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Use of OIDS as primary keys
Date: 2002-05-13 20:53:00
Message-ID: v04210109b905d73ca513@[172.16.2.101]
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

>On Sun, 2002-05-12 at 06:56, Alan Wayne wrote:
> > Hi!
> >
> > I'm wondering how I can use the system generated OIDS
> > as primary keys. Does postgre automatically fill in
>
>Don't do it!
>
>Oids are not saved in a dump unless you specifically ask for them;
>you'll be in a right mess if you forget and then need to restore from
>the dump. Then, oids aren't guaranteed to be unique. In any case, your
>database design should not depend on an internal feature of the database
>implementation.
>
>If there is no primary key in the data, create one by including a SERIAL
>field (an integer with an associated next number generator) and use that
>as the key.
>
>--
>Oliver Elphick Oliver(dot)Elphick(at)lfix(dot)co(dot)uk
>Isle of Wight http://www.lfix.co.uk/oliver
>GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C

I think it would be valuable if a discussion of this were added to
the FAQ somewhere. It took me a while to figure this out - in Oracle
and mySQL I was used to making my own autoincrement columns, and at
first usage it seemed that postgre was saving me from that bit of
drudgery. ;^) Eventually I realized I needed my own columns, but it's
not obvious and it's a bit of a pain to undo.

Elaine Lindelef

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Martín Marqués 2002-05-13 23:00:34 restoreing dumps fail
Previous Message Randall Barber 2002-05-13 20:49:47 Quotes in SQL