Re: Drop all constraints

From: Andreas Kretschmer <akretschmer(at)spamfence(dot)net>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: Drop all constraints
Date: 2010-03-06 17:17:05
Message-ID: 20100306171705.GA31228@tux
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Gianvito Pio <pio(dot)gianvito(at)gmail(dot)com> wrote:

> Hi all,
> is there a way to drop all constraints of a table?
>
> I found this workaround in the manual:
>
> CREATE TABLE temp AS SELECT * FROM distributors;
> DROP TABLE distributors;
> CREATE TABLE distributors AS SELECT * FROM temp;
> DROP TABLE temp;

I think, you can change the table-name from temp to distributors:
(alter table temp rename to distributors), it's cheaper.

>
> Is there any other way to do it?

Maybe. I think you can walk through the system catalogs to find all
constraints for a table and drop them (alter table foo drop constraint
...). I think, you should start with
http://www.postgresql.org/docs/8.4/interactive/catalog-pg-constraint.html

Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknown)
Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2010-03-06 21:31:55 Re: Does IMMUTABLE property propagate?
Previous Message Gianvito Pio 2010-03-06 16:34:08 Drop all constraints