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
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 |