diff options
-rw-r--r-- | doc/src/sgml/ref/create_index.sgml | 17 |
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> |