Как удалить много строк из часто используемой таблицы

Мне нужно удалить большую часть (скажем, 90%) очень большой таблицы (скажем, 5 млн строк). Остальные 10% этой таблицы часто читаются, но не пишутся.

От "Лучший способ удалить миллионы строк по идентификаторуMsgstr "я понимаю, что должен удалить любой индекс на 90%, который я удаляю, чтобы ускорить процесс (кроме индекса, который я использую для выбора строк для удаления).

От "Режим блокировки PostgreSQL"Я вижу, что эта операция приобрететROW EXCLUSIVE блокировка на весь стол. Но так как я толькочтение остальные 10% это не должно иметь значения.

Таким образом, безопасно ли удалить все в одной команде (т.е.DELETE FROM table WHERE delete_flag='t')? Я обеспокоен тем, что, если удаление одной строки не удается, вызываяогромный Откат, тогда это повлияет на мою способность читать со стола. Было бы разумнее удалить в пакетном режиме?