是否可以在 Postgresql 中进行在线索引重建,或者您唯一的选择是删除并重新创建?谢谢。
答案1
重建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
(它将花费更长时间,因为它必须等待任何待处理的写入完成两次)。