]> 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:47 +0000 (10:35 -0400)
Backpatch to 9.1 and 9.2.

doc/src/sgml/ref/create_index.sgml

index 2ab6470367d07ed3f10c680dbdeaf4af26f48d0e..17b433a47e4975141f9be307d50ccb0e2a6bcaa6 100644 (file)
@@ -394,15 +394,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>