On Sun, 10 Nov 2002, Tom Lane wrote: > "Zhidian Du" <duzhidian@xxxxxxxxxxx> 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.