Обсуждение: using oids as primary keys and foreign keys

Поиск
Список
Период
Сортировка

using oids as primary keys and foreign keys

От
David Bear
Дата:
I've looked in the archives searching on oid and 'access' (microsoft)
to see how others have handled migration from data bases in ms-access
to postgresql. MS access has an auto-inc field that is used frequently
as a uniq id.  Seems the OID has the same function. Yet, I've seem
parts of messages that say not to use the OID in that manner, but
nothing seems 'definitive'.

Can I use an OID as a foreign key in another table?

If not, what is the prefered method for replicating the auto-inc field
that ms-access users are so fond of... a 'sequence'?


--
David Bear
phone:     480-965-8257
fax:     480-965-9189
College of Public Programs/ASU
Wilson Hall 232
Tempe, AZ 85287-0803
 "Beware the IP portfolio, everyone will be suspect of trespassing"

Re: using oids as primary keys and foreign keys

От
Michael Fuhr
Дата:
On Mon, Nov 08, 2004 at 03:36:26PM -0700, David Bear wrote:
> I've looked in the archives searching on oid and 'access' (microsoft)
> to see how others have handled migration from data bases in ms-access
> to postgresql. MS access has an auto-inc field that is used frequently
> as a uniq id.  Seems the OID has the same function. Yet, I've seem
> parts of messages that say not to use the OID in that manner, but
> nothing seems 'definitive'.

The PostgreSQL documentation recommends against using OIDs as
primary keys:

http://www.postgresql.org/docs/7.4/static/datatype-oid.html

> Can I use an OID as a foreign key in another table?
>
> If not, what is the prefered method for replicating the auto-inc field
> that ms-access users are so fond of... a 'sequence'?

Yes, usually by creating a field of type SERIAL:

http://www.postgresql.org/docs/7.4/static/datatype.html#DATATYPE-SERIAL

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/