Как добавить индекс без downtime в PostgreSQL и как сделать это через Java?

Senior
213 просмотров
AFK Offer AI

CREATE INDEX CONCURRENTLY — создаёт индекс не блокируя таблицу (занимает больше времени, возможно завершение с ошибкой — тогда REINDEX CONCURRENTLY). В Flyway/Liquibase: нативный SQL CREATE INDEX CONCURRENTLY. Liquibase не поддерживает CONCURRENTLY в тегах — нужен sql changeset. Hibernate @Index через ddl-auto не использует CONCURRENTLY. В продакшене создавать большие индексы только CONCURRENTLY — иначе таблица заблокирована на минуты.

Следующий вопрос

Что такое happens-before?