Основное отличие команд REINDEX и DROP INDEX в PostgreSQL заключается в их функциях и уровнях блокировок. 14
REINDEX перестраивает индекс, используя данные таблицы, к которой он относится, и заменяет старую копию индекса. 13 При этом REINDEX блокирует запись, но не чтение родительской таблицы индекса. 14
DROP INDEX, в свою очередь, удаляет индекс и моментально устанавливает исключительную блокировку на родительскую таблицу, блокируя и запись, и чтение. 14
Таким образом, REINDEX больше подходит для восстановления индекса или сокращения его объёма, а DROP INDEX — для удаления индекса. 13