On Fri, Mar 29, 2019 at 08:48:03AM -0700, Andres Freund wrote:
> Yes, it increases the total runtime quite considerably. And it adds new
> failure modes with partially built invalid indexes hanging around that
> need to be dropped manually.
On top of that CONCURRENTLY needs multiple transactions to perform its
different phases for each transaction: build, validation, swap and
cleanup. So it cannot run in a transaction block. Having a separate
option makes the most sense.
> It does at *least* twice as much IO.
Yeah, I can guarantee you that it is much slower, at the advantage of
being lock-free.
--
Michael