Обсуждение: using OID as primary key
Hi, are there any disadvantages of using OID as the primary key for any table? What about referencing external tuples using their OIDs? e. g.: CREATE TABLE thistable ... field NUMERIC REFERENCES OtherTable (oid) Which data type should I use to reference OIDs? Will I run into problems later if I do my things this way? Thanks, Markus
Markus Wagner wrote: > Hi, > > are there any disadvantages of using OID as the primary key for any > table? > What about referencing external tuples using their OIDs? > > e. g.: > CREATE TABLE thistable > ... > field NUMERIC REFERENCES OtherTable (oid) > > Which data type should I use to reference OIDs? > > Will I run into problems later if I do my things this way? Currently OID is not supported for references. Has to do with some checks done in the RI triggers, using SPI functions. We're thinking about a solution... Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== JanWieck@Yahoo.com #
Thus spake Jan Wieck
> > are there any disadvantages of using OID as the primary key for any
> > table?
> > What about referencing external tuples using their OIDs?
>
> Currently OID is not supported for references. Has to do with
> some checks done in the RI triggers, using SPI functions.
> We're thinking about a solution...
Also, don't forget about the dump/restore issue. You have to remember
to dump OIDs with "-o" or else all your references will be trashed.
<OPINION>
Personally I would avoid it. Adding a serial type almost gives you
the same thing anyway. OIDs are useful in system tables and temporarily
in programs when dealing with tables without primary keys.
</OPINION>
--
D'Arcy J.M. Cain <darcy@{druid|vex}.net> | Democracy is three wolves
http://www.druid.net/darcy/ | and a sheep voting on
+1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.