Re: Referential integrity Freeze

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: Rudi Starcevic <rudi(at)oasis(dot)net(dot)au>
Cc: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Referential integrity Freeze
Date: 2002-11-05 00:05:41
Message-ID: 20021104160421.C13046-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

> Hello,
>
> I have two 4 table with referential constraint's that are hanging when I
> try to delete from them.
>
> I have a,
> users table, ( 30000 rows )
> suburbs table ( 16000 rows ),
> regions table ( 54 rows )and
> a bus_pc_idc table ( business type ) ( 30000 rows )
>
> Here is my integrity rules:
>
> create table bus_pc_idc (
> id serial,
> user_id int4 REFERENCES users(user_id) ON DELETE CASCADE ON
> UPDATE CASCADE NOT NULL,
> sub_id int4 REFERENCES suburbs(sub_id) ON DELETE CASCADE ON
> UPDATE CASCADE NOT NULL,
> idc_id int4 REFERENCES idc(id) ON DELETE CASCADE ON UPDATE
> CASCADE NOT NULL,
> active bool NOT NULL DEFAULT 'f'::bool
> );
>
> As the system is still being developed I want to 'empty' out the
> database from titme to time and rebuild it.
> I think that when I delete from the users table the delete should
> cascade through the bus_pc_idc table.
> However it's justing hanging when I delete all from the users table.
> When the database is hanging the CPU is 99% for the Postgres process.
>
> I can't see what's wrong. Perhaps I'm missing something in the
> referential integrity.

It shouldn't be hanging, however, do you have indexes on the *_id fields
in bus_pc_idc? Otherwise it's going to be doing 1 sequence scan over
bus_pc_idc for each row in users.

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Rudi Starcevic 2002-11-05 00:16:40 Re: Referential integrity Freeze
Previous Message Rudi Starcevic 2002-11-04 23:37:02 Referential integrity Freeze