Назад | Перейти на главную страницу

Можно ли сделать онлайн-перестройку индекса в Postgresql

Можно ли выполнить перестроение индекса в режиме онлайн в Postgresql, или это единственный вариант - удалить и воссоздать заново? Спасибо.

Перестроить my_idx,

CREATE INDEX CONCURRENTLY new_my_idx ON my_table (my_column);
BEGIN;
DROP INDEX my_idx;
ALTER new_my_idx RENAME TO my_idx;
COMMIT;

С обычными оговорками CONCURRENTLY (это займет больше времени, так как он должен дважды ждать завершения всех ожидающих операций записи).