On Sun, 10 Nov 2002, Tom Lane wrote:
> "Zhidian Du" <duzhidian@hotmail.com> writes:
> > CREATE TABLE Link (
> > Protein_ID oid
> > CONSTRAINT one
> > REFERENCES Protein (oid)
> > ON DELETE CASCADE,
> > Link varchar(128)
> > );
> > When I insert a record into this child table, it says
> > "ERROR: constraint one: table protein does not have an attribute oid"
>
> How old is your Postgres?
>
> IIRC, this was made to work in 7.2 or thereabouts.
>
> Note that using OID as a foreign key is not really a good idea, because
> it's problematic to dump and restore. You'd be better off with a serial
> column as primary key.
Yeah, I found that out the hardway and spent a couple days rewriting an
app that had used OIDs in a way it really shouldn't have.
The only time I use OIDs now is to get rid of duplicate rows by hand or
such like that.