Reword documentation for concurrent index rebuilds to be clearer.

Backpatch to 9.1 and 9.2.
This commit is contained in:
Bruce Momjian 2012-08-04 10:35:37 -04:00
parent 3152bf722f
commit 4639432597
1 changed files with 8 additions and 9 deletions

View File

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