Christophe <x...@thebuild.com> writes:
> On May 24, 2009, at 8:58 AM, Craig Ringer wrote:
>> There isn't currently any REINDEX CONCURRENTLY
>> option, but people seem to have a few workarounds that do the job if you
>> really do need to rebuild an index on a live, active table.

> It's pretty straight-forward to do:

> CREATE INDEX CONCURRENTLY idx_new ON table ... ;
> DROP INDEX idx;
> ALTER INDEX idx_new RENAME TO idx;

However, this doesn't work for an index that's underlying a UNIQUE or
PRIMARY KEY constraint, nor an index that's depended on by a FOREIGN KEY
reference --- the system won't let you drop such indexes.  Plus there
are obvious opportunities for human error.  So we oughta do REINDEX
CONCURRENTLY someday ...

                        regards, tom lane

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to