Параллельное построение индекса отличается от обычного тем, что позволяет продолжать обычную работу с базой во время построения индекса. 1 При обычном построении другие транзакции могут читать таблицу, но при попытке вставить, изменить или удалить строки в таблице они будут заблокированы до завершения построения индекса. 1
При параллельном построении индекс попадает в системный каталог в одной транзакции, затем ещё два сканирования таблицы выполняются в двух других транзакциях. 1 Кроме того, PostgreSQL должен выполнить два сканирования таблицы и дождаться завершения всех существующих транзакций, которые потенциально могут использовать этот индекс. 1 Таким образом, эта процедура требует больше действий и выполняется значительно дольше, чем обычное построение индекса. 1
Ещё одно отличие заключается в том, что обычная команда CREATE INDEX может выполняться внутри блока транзакции, но CREATE INDEX CONCURRENTLY — нет. 2