]> granicus.if.org Git - postgresql/commitdiff
Reword documentation for concurrent index rebuilds to be clearer.
authorBruce Momjian <bruce@momjian.us>
Sat, 4 Aug 2012 14:35:37 +0000 (10:35 -0400)
committerBruce Momjian <bruce@momjian.us>
Sat, 4 Aug 2012 14:35:44 +0000 (10:35 -0400)
Backpatch to 9.1 and 9.2.

doc/src/sgml/ref/create_index.sgml

index 1a1e8d60d75493f2eb9ed73fa3e8eec81efe2106..5d0ea4372fc73686d219098bec9b0ff3159683e4 100644 (file)
@@ -379,15 +379,14 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ <replaceable class="parameter">name</
    </para>
 
    <para>
-    In a concurrent index build, the index is actually entered into the
-    system catalogs in one transaction, then the two table scans occur in a
-    second and third transaction.  All active transactions at the time the
-    second table scan starts, not just ones that already involve the table,
-    have the potential to block the concurrent index creation until they
-    finish.  When checking for transactions that could still use the original
-    index, concurrent index creation advances through potentially interfering
-    older transactions one at a time, obtaining shared locks on their virtual
-    transaction identifiers to wait for them to complete.
+    In a concurrent index build, the index is actually entered into
+    the system catalogs in one transaction, then two table scans occur in
+    two more transactions.  Any transaction active when the second table
+    scan starts can block concurrent index creation until it completes,
+    even transactions that only reference the table after the second table
+    scan starts.   Concurrent index creation serially waits for each old
+    transaction to complete using the method outlined in section <xref
+    linkend="view-pg-locks">.
    </para>
 
    <para>