8.5devel: alter constraint ? - Mailing list pgsql-general

From Andreas Kretschmer
Subject 8.5devel: alter constraint ?
Date
Msg-id 20091114164228.GA12114@tux
Whole thread Raw
Responses Re: 8.5devel: alter constraint ?
List 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°

pgsql-general by date:

Previous
From: Thom Brown
Date:
Subject: Re: [pgeu-general] pgday.eu
Next
From: Andreas 'ads' Scherbaum
Date:
Subject: Re: [pgeu-general] pgday.eu