aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/ref/create_index.sgml17
1 files changed, 8 insertions, 9 deletions
diff --git a/doc/src/sgml/ref/create_index.sgml b/doc/src/sgml/ref/create_index.sgml
index 1a1e8d60d75..5d0ea4372fc 100644
--- a/doc/src/sgml/ref/create_index.sgml
+++ b/doc/src/sgml/ref/create_index.sgml
@@ -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>