1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-16 06:01:02 +03:00

Document how to identify an invalid index after a failed CREATE INDEX

CONCURRENTLY.

Gregory Stark
This commit is contained in:
Bruce Momjian
2007-04-03 22:38:35 +00:00
parent 9c9b619473
commit cd39718446

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/create_index.sgml,v 1.60 2007/01/31 23:26:03 momjian Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/create_index.sgml,v 1.61 2007/04/03 22:38:35 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
@ -332,7 +332,20 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] <replaceable class="parameter">name</re
uniqueness violation in a unique index, the <command>CREATE INDEX</> uniqueness violation in a unique index, the <command>CREATE INDEX</>
command will fail but leave behind an <quote>invalid</> index. This index command will fail but leave behind an <quote>invalid</> index. This index
will be ignored for querying purposes because it might be incomplete; will be ignored for querying purposes because it might be incomplete;
however it will still consume update overhead. The recommended recovery however it will still consume update overhead. The <application>psql</>
<command>\d</> command will mark such an index as <literal>INVALID</>:
<programlisting>
postgres=# \d tab
Table "public.tab"
Column | Type | Modifiers
--------+---------+-----------
col | integer |
Indexes:
"idx" btree (col) INVALID
</programlisting>
The recommended recovery
method in such cases is to drop the index and try again to perform method in such cases is to drop the index and try again to perform
<command>CREATE INDEX CONCURRENTLY</>. (Another possibility is to rebuild <command>CREATE INDEX CONCURRENTLY</>. (Another possibility is to rebuild
the index with <command>REINDEX</>. However, since <command>REINDEX</> the index with <command>REINDEX</>. However, since <command>REINDEX</>