Обсуждение: dropping an index
Hi, Is it possible to drop and recreate an index on a column that's actually a primary key for a table in PostgreSQL 7.3 ? I couldn't figure that out from the documentation. --Shuying
On Wed, Mar 01, 2006 at 04:11:07PM +1100, Shuying Wang wrote: > Is it possible to drop and recreate an index on a column that's > actually a primary key for a table in PostgreSQL 7.3 ? I couldn't > figure that out from the documentation. You can use ALTER TABLE to drop and later add the primary key constraint. Is that what you mean? http://www.postgresql.org/docs/7.3/interactive/sql-altertable.html test=> CREATE TABLE foo (id integer PRIMARY KEY); NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'foo_pkey' for table 'foo' CREATE TABLE test=> \d foo Table "public.foo" Column | Type | Modifiers --------+---------+----------- id | integer | not null Indexes: foo_pkey primary key btree (id) test=> ALTER TABLE foo DROP CONSTRAINT foo_pkey; ALTER TABLE test=> \d foo Table "public.foo" Column | Type | Modifiers --------+---------+----------- id | integer | not null test=> ALTER TABLE foo ADD PRIMARY KEY (id); NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index 'foo_pkey' for table 'foo' ALTER TABLE test=> \d foo Table "public.foo" Column | Type | Modifiers --------+---------+----------- id | integer | not null Indexes: foo_pkey primary key btree (id) -- Michael Fuhr
Michael Fuhr <mike@fuhr.org> writes:
> On Wed, Mar 01, 2006 at 04:11:07PM +1100, Shuying Wang wrote:
>> Is it possible to drop and recreate an index on a column that's
>> actually a primary key for a table in PostgreSQL 7.3 ? I couldn't
>> figure that out from the documentation.
> You can use ALTER TABLE to drop and later add the primary key
> constraint. Is that what you mean?
I think what's probably wanted here is REINDEX ...
regards, tom lane