Thread: Is this a bug or am I doing something wrong?

Is this a bug or am I doing something wrong?

From
Joost Kraaijeveld
Date:
Hi,

I am trying to create a foreign key, followed by creating anindex on the
foreign key, using PgAdmin III

The command that are generated :

ALTER TABLE prototype.orderlines ADD CONSTRAINT fk_orderlines_orders
FOREIGN KEY (orderobjectid) REFERENCES prototype.orders (objectid)
       ON UPDATE RESTRICT ON DELETE RESTRICT;

CREATE INDEX fki_orderlines_orders ON
prototype.orderlines(orderobjectid);

Ont the second command PostgreSQL hangs forever. The
prototype.orderlines table is completely empty, the prototype.orders
table contains 1.000.000+ records.

Is this a known feature and am I doing something wrong or a bug?


--
Groeten,

Joost Kraaijeveld
Askesis B.V.
Molukkenstraat 14
6524NB Nijmegen
tel: 024-3888063 / 06-51855277
fax: 024-3608416
e-mail: J.Kraaijeveld@Askesis.nl
web: www.askesis.nl



Re: Is this a bug or am I doing something wrong?

From
Richard Huxton
Date:
Joost Kraaijeveld wrote:
> Hi,
>
> I am trying to create a foreign key, followed by creating anindex on the
> foreign key, using PgAdmin III
>
> The command that are generated :
>
> ALTER TABLE prototype.orderlines ADD CONSTRAINT fk_orderlines_orders
> FOREIGN KEY (orderobjectid) REFERENCES prototype.orders (objectid)
>        ON UPDATE RESTRICT ON DELETE RESTRICT;
>
> CREATE INDEX fki_orderlines_orders ON
> prototype.orderlines(orderobjectid);
>
> Ont the second command PostgreSQL hangs forever. The
> prototype.orderlines table is completely empty, the prototype.orders
> table contains 1.000.000+ records.

Well, if orderlines is empty it shouldn't take long to create an index.
I'd suspect lock issues - see what's in the pg_locks view.

It's also worth trying these things in psql too - that way you know
exactly what is being executed.
--
   Richard Huxton
   Archonet Ltd

Re: Is this a bug or am I doing something wrong?

From
Michael Fuhr
Date:
On Fri, Sep 09, 2005 at 09:09:11AM +0200, Joost Kraaijeveld wrote:
> ALTER TABLE prototype.orderlines ADD CONSTRAINT fk_orderlines_orders
> FOREIGN KEY (orderobjectid) REFERENCES prototype.orders (objectid)
>        ON UPDATE RESTRICT ON DELETE RESTRICT;
>
> CREATE INDEX fki_orderlines_orders ON
> prototype.orderlines(orderobjectid);
>
> Ont the second command PostgreSQL hangs forever. The
> prototype.orderlines table is completely empty, the prototype.orders
> table contains 1.000.000+ records.

Does the second command hang consistently or have you only tried
it once?  When it's (apparently) hung, what output do you get if
you run the following query in another session?

SELECT relation::regclass, * FROM pg_locks;

What version of PostgreSQL are you using?

--
Michael Fuhr

Re: Is this a bug or am I doing something wrong?

From
Joost Kraaijeveld
Date:
Hi Richard (s),

The problem was reproducable untill I restarted my whole machine. Now it
works. Still have no clue what this was about, but thanks to you, now I
know where to start looking next time.

--
Groeten,

Joost Kraaijeveld
Askesis B.V.
Molukkenstraat 14
6524NB Nijmegen
tel: 024-3888063 / 06-51855277
fax: 024-3608416
e-mail: J.Kraaijeveld@Askesis.nl
web: www.askesis.nl