Re: foreign key creation problem - Mailing list pgsql-general

From adam fisher
Subject Re: foreign key creation problem
Date
Msg-id 31CBC2DE3CCFD311A49C204C4F4F50200743B1@REDSERVER
Whole thread Raw
In response to foreign key creation problem  ("Adam Fisher" <black@cia.com.au>)
List pgsql-general
Hi Again,
Scratch that. I was running two seperate proceedures on one of the tables,
so the alter table command was blocked. Once I ran it properly, it only took
about 5 minutes. Sorry about that...
adam



I don't believe it!
In my haste to find a greater problem, I ignored case-sensitivity. Thank you
very much for pointing that out, it's working now.

However, can I now ask another question?

The item2 table has about 450,000 lines in it, and the inventory table has
about 89000. I have been running the alter table command to add the foreign
key for about 8 hours now, and it's still going. Is there anything I can do
to speed it up. Would it have helped if the field that the foreign key
constraint is applied to was indexed?

Thanks again,
adam


-----Original Message-----
From: Stephan Szabo [mailto:sszabo@megazone23.bigpanda.com]
Sent: Thursday, 13 December 2001 5:33
To: adam fisher
Cc: 'pgsql-general@postgresql.org'
Subject: RE: [GENERAL] foreign key creation problem



On Thu, 13 Dec 2001, adam fisher wrote:

> CREATE TABLE "item2" (
>     "stockno" integer DEFAULT nextval('"item2_stockno_seq"'::text) NOT
> NULL,
>     "artist" character varying(40) NOT NULL,
>     "title" character varying(40) NOT NULL,
>     "fmt" character(3) NOT NULL,
>     "country" character varying(6),
>     "comment" character varying(255),
>     "apn" character(14),
>     "catno" character varying(25),
>     "sup" character(3),
>     "collectors" character(1) DEFAULT 'n',
>     "genre" character varying(10),
>     "shopcom" character varying(50),
>     Constraint "item2_pkey" Primary Key ("stockno"));

I'm assuming item from the statement below and item2 here
are the same structure?  It looks like you may have created the table,
possibly with a stockNo, but not in double quotes which would have rolled
the real name of the column to "stockno" which won't match the "stockNo"
below.

> On Thu, 13 Dec 2001, Adam Fisher wrote:
>
> > Hi All,
> > I am trying to add a foreign key comstraint to an already-populated
table
> > using the ALTER TABLE command. I am linking to the primary key of the
> master
> > table, and the slave table also has a primary key, however the field I
am
> > adding the constraint to is not indexed.
> > When I try and create the constraint using:
> > alter table inventory
> > add constraint fk_inv_item_stkNo
> > foreign key ("stockNo") references "item" ("stockNo")
> >
> > i get the following message:
> >
> > UNIQUE constraint matching given keys for referenced table not found
> "item"
> >
> > Can anybody tell me what I'm doing wrong? The field stockNo in the item
> > table is the primary key, so it is unique. Both fields have the dataType
> > integer and the primary key is also a sequence (i.e auto-incrementing)
>
> Can you send the full schema of the tables involved?
>
>
>

pgsql-general by date:

Previous
From: "Menno Pieper"
Date:
Subject: SQL QUERIES
Next
From: Martin Weinberg
Date:
Subject: Problem with OID wrap