Всем привет
Ребят, подскажите плз как из таблицы можно удалить большое количество данных.
Побега, почитав по интернетам понял, что если сделать просто delete то все встанет колом. Советуют удалять данные пачками а потом вакуум фул. Я не сильно знаком с синтаксисом постгреса, может кто подскажет команду (прошу прощения за наглость и отчасти лень) как можно пачками данные удалить, по id например
Спасибо
з.ы.
нагуглил вот такой вариант
DELETE FROM [ваша таблица]
WHERE [ID] IN
(SELECT TOP 10000 * FROM [ваша таблица])
но очень слабо представляют как этим воспользоваться
truncate делать плохо, потому что таблицы очень большие. Есть вероятность что из-за этого серверу будет больно, а этого не хочется. Нужно удалить всю таблицу, но удалять пачками по 1000-10000 строк. Вопрос в том, как это указать в запросе\функции. Потому как найденый пример пока что не совсем понятен
TRUNCATE quickly removes all rows from a set of tables. It has the same effect as an unqualified DELETE on each table, but since it does not actually scan the tables it is faster. Furthermore, it reclaims disk space immediately, rather than requiring a subsequent VACUUM operation. This is most useful on large tables.
читайте официальную документацию, если не верите. %)