aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2020-08-20 13:49:04 -0400
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2020-08-20 13:49:04 -0400
commit0784c333728dd454b80c0bd0faec916782370810 (patch)
tree5fafd9d9e1f0527cca32f19e0f5e77eda953b9f8
parent1fe1f42e3e85279e1cb8b004b3b076a04bde4cee (diff)
downloadpostgresql-0784c333728dd454b80c0bd0faec916782370810.tar.gz
postgresql-0784c333728dd454b80c0bd0faec916782370810.zip
Revise REINDEX CONCURRENTLY recovery instructions
When the leftover invalid index is "ccold", there's no need to re-run the command. Reword the instructions to make that explicit. Backpatch to 12, where REINDEX CONCURRENTLY appeared. Author: Álvaro Herrera <alvherre@alvh.no-ip.org> Reviewed-by: Michael Paquier <michael@paquier.xyz> Reviewed-by: Julien Rouhaud <rjuju123@gmail.com> Discussion: https://postgr.es/m/20200819211312.GA15497@alvherre.pgsql
-rw-r--r--doc/src/sgml/ref/reindex.sgml18
1 files changed, 10 insertions, 8 deletions
diff --git a/doc/src/sgml/ref/reindex.sgml b/doc/src/sgml/ref/reindex.sgml
index aac5d5be23f..c16f223e4ed 100644
--- a/doc/src/sgml/ref/reindex.sgml
+++ b/doc/src/sgml/ref/reindex.sgml
@@ -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>