"Mike Smialek" <_ike_mialek@hotmail.com> writes:
> Capitalizing just the foreign column name fails with what seems to be an
> incorrect error:
> -- Table: significance
> CREATE TABLE "significance" (
> "Significanceid" int4 NOT NULL,
> "desc" varchar(255),
> CONSTRAINT "pk_significance" PRIMARY KEY ("Significanceid"));
> -- Table: primaryword
> CREATE TABLE "primaryword" (
> "exerciseid" int4 NOT NULL,
> "significanceid" int4 NOT NULL,
> CONSTRAINT "pk_primaryword" PRIMARY KEY ("exerciseid"),
> CONSTRAINT "fk_primaryword_significance" FOREIGN KEY
> (significanceid) REFERENCES "significance" (Significanceid) );
^^^^^^^^^^^^^^
> Fails with error
> Description: Error while executing the query;
> Error: UNIQUE constraint matching given keys for refernced table
> "significance" not found
I see no bug here. You didn't quote the foreign key column name, thus
it got folded to lowercase.
It might be nice if the error message explicitly identified the key
columns being sought, though.
regards, tom lane