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°
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 |