Hello Marques,

Your problem is that the oid is not indexed.
Create an index on photos(oid) then add the constraint separately.

JLL


Marques Johansson wrote:
> 
> See the ERROR and comments below...
> 
> create table photos (
>   filename varchar[128] not null,
>   filesize int default null,
>   width int default null,
>   height int default null,
>   origPhoto oid default null references photos ( oid ),
>   altDesc varchar[128] default null
> );
> 
> psql:sid-sql:40: NOTICE:  CREATE TABLE will create implicit trigger(s) for FOREIGN 
>KEY check(s)
> psql:sid-sql:40: ERROR:  UNIQUE constraint matching given keys for referenced table 
>"photos" not found
> 
> Am I not supposed to have self referencing 'reference' values?  Or is the
> oid field invisible to this function? (Maybe because the table has yet to
> be created?)  I don't see any reason why I shouldn't be able to make a
> self-referencing ref.
> 
> I would try creating the table first, then altering the field later - but
> you still can't 'alter column' that way.  Should I just forget about using
> the 'references' keyword?
> 
> --
> Marques Johansson
> [EMAIL PROTECTED]
> 
> You may my glories and my state dispose,
> But not my griefs; still am I king of those.
>                 -- William Shakespeare, "Richard II"
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
> 
> http://archives.postgresql.org

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html

Reply via email to