8.5devel: alter constraint ?

From: Andreas Kretschmer <akretschmer(at)spamfence(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: 8.5devel: alter constraint ?
Date: 2009-11-14 16:42:28
Message-ID: 20091114164228.GA12114@tux
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I'm playing with 8.5devel.

My question: is it possible to alter a constraint without drop and
rebuilding it?

For instance, i have a table test with a primary key, but i have
forgotten to declare the constraint as DEFERRABLE. I can drop and
recreate that, but the index are also dropped and recreated and i think,
this is not necessary.

test=# \d test
Table "public.test"
Column │ Type │ Modifiers
────────┼─────────┼───────────
i │ integer │ not null
Indexes:
"test_pkey" PRIMARY KEY, btree (i)

test=# alter table test drop constraint test_pkey ;
ALTER TABLE
Time: 1,127 ms
test=*# alter table test add primary key (i) DEFERRABLE INITIALLY DEFERRED;
NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index "test_pkey" for table "test"
ALTER TABLE
Time: 281,479 ms
test=*# \d test
Table "public.test"
Column │ Type │ Modifiers
────────┼─────────┼───────────
i │ integer │ not null
Indexes:
"test_pkey" PRIMARY KEY, btree (i) DEFERRABLE INITIALLY DEFERRED

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°

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andreas 'ads' Scherbaum 2009-11-14 16:44:56 Re: pgday.eu
Previous Message Thom Brown 2009-11-14 16:37:52 Re: pgday.eu