Commit 46394325 authored by Bruce Momjian's avatar Bruce Momjian

Reword documentation for concurrent index rebuilds to be clearer.

Backpatch to 9.1 and 9.2.
parent 3152bf72
......@@ -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>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment