Revise REINDEX CONCURRENTLY recovery instructions
authorAlvaro Herrera <[email protected]>
Thu, 20 Aug 2020 17:49:04 +0000 (13:49 -0400)
committerAlvaro Herrera <[email protected]>
Thu, 20 Aug 2020 17:49:04 +0000 (13:49 -0400)
When the leftover invalid index is "ccold", there's no need to re-run
the command.  Reword the instructions to make that explicit.

Back to 12, where REINDEX CONCURRENTLY appeared.

Author: Álvaro Herrera <[email protected]>
Reviewed-by: Michael Paquier <[email protected]>
Reviewed-by: Julien Rouhaud <[email protected]>
Discussion: https://postgr.es/m/20200819211312[email protected]

doc/src/sgml/ref/reindex.sgml

index aac5d5be23f4f381a30e25d641ee391302fce677..c16f223e4edb45b963989e8833bb00528fbb6a20 100644 (file)
@@ -307,7 +307,7 @@ REINDEX [ ( <replaceable class="parameter">option</replaceable> [, ...] ) ] { IN
     <orderedlist>
      <listitem>
       <para>
-       A new temporary index definition is added to the catalog
+       A new transient index definition is added to the catalog
        <literal>pg_index</literal>.  This definition will be used to replace
        the old index.  A <literal>SHARE UPDATE EXCLUSIVE</literal> lock at
        session level is taken on the indexes being reindexed as well as their
@@ -383,13 +383,15 @@ Indexes:
     "idx_ccnew" btree (col) INVALID
 </programlisting>
 
-    The recommended recovery method in such cases is to drop the invalid index
-    and try again to perform <command>REINDEX CONCURRENTLY</command>.  The
-    concurrent index created during the processing has a name ending in the
-    suffix <literal>ccnew</literal>, or <literal>ccold</literal> if it is an
-    old index definition which we failed to drop. Invalid indexes can be
-    dropped using <literal>DROP INDEX</literal>, including invalid toast
-    indexes.
+    If the index marked <literal>INVALID</literal> is suffixed
+    <literal>ccnew</literal>, then it corresponds to the transient
+    index created during the concurrent operation, and the recommended
+    recovery method is to drop it using <literal>DROP INDEX</literal>,
+    then attempt <command>REINDEX CONCURRENTLY</command> again.
+    If the invalid index is instead suffixed <literal>ccold</literal>,
+    it corresponds to the original index which could not be dropped;
+    the recommended recovery method is to just drop said index, since the
+    rebuild proper has been successful.
    </para>
 
    <para>