Re: OID's as Primary Keys

From: Andrew Gould <andrewgould(at)yahoo(dot)com>
To: Richard Teviotdale <richard(at)satcomresources(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: OID's as Primary Keys
Date: 2001-11-08 14:52:00
Message-ID: 20011108145200.91558.qmail@web13403.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

The use of the OID as a primary key does not
facilitate the use of relational data models;
primarily because it doesn't mean anything. For
example, if I have a table of people who are defined
as unique by the ssan (Social Security Number) field,
I would still need to create a unique index on the
ssan field. Furthermore, I would think that working
with OIDs as foreign keys would be difficult at best.

Best regards,

Andrew Gould

--- Richard Teviotdale <richard(at)satcomresources(dot)com>
wrote:
>
> Is an Object Identifier (OID) is a good choice for a
> primary key within a database table?
>
-----------------------------------------------------------------------------------------------------------
> Lets explore this question...
>
> OID's are created automatically, so even if I create
> a specific INTEGER field within my table as a
> primary key (PK), I will end up with an OID anyway.
> Thats got to be an waste of some space.
>
> I would need to specify the -o option to the pg_dump
> command, when performing backups. Otherwise you
> would loose all your PK's.
>
> Because you cannot SERIALIZE OID's, Invoice numbers
> that run successively would not be possible
> (Although OID's are successively derived by the
> database, they are assigned first come, first served
> to whichever table an INSERT specifies).
>
> After an INSERT the OID property is available
> imediately, allowing code efficiency. Ironically,
> this same OID propery is used to get the new
> record's PK, using an additional SQL statement, if
> you don't use the OID as the PK.
>
-----------------------------------------------------------------------------------------------------------
> I hope this spurs some discussion about...
>
> Other than lacking sequental PK's, are there other
> disadvantages with the OID PK choice?
>
> Does the use of OID PK's limit the maximum number of
> records allowed throughout the entire database?
>
> Are there any issues with restoring a database from
> a pg_dump file?
>
-----------------------------------------------------------------------------------------------------------
> Thank you
>

__________________________________________________
Do You Yahoo!?
Find a job, post your resume.
http://careers.yahoo.com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Jason Earl 2001-11-08 14:52:27 Re: OID's as Primary Keys
Previous Message Tom Lane 2001-11-08 14:34:38 Re: "Relation does not exist" error