Страница 1 из 1
Удаление данных
Добавлено: 2006-12-22 9:35:15
Agronom
Подскажите как запросом удалить из БД данные за определенный период? Есть БД биллинга на PostgreSQL, которая начинается с 2004 года. Нужно одним махом убить все данные с 2004 по 2006 год, оставить только 2006 год. А как это сделать? Там больше 200 миллионов записей

Добавлено: 2006-12-22 10:58:10
Alex Keda
Код: Выделить всё
WHERE коолонка_со_временем LIKE 'формат даты %'
например... примерно так.
=======
бэкап сделай, до того как дропать
Добавлено: 2006-12-22 11:08:21
Agronom
примерно так?
Код: Выделить всё
DROP * FROM table_name WHERE date LIKE 'date < 01/01/06';
и так для всех таблиц?
У меня их в базе целая толпа!
Добавлено: 2006-12-22 11:11:57
Alex Keda
f/ постгресс... незнаю даже...
Добавлено: 2007-01-09 12:12:08
Agronom
удалил данные во всех таблицах с помощью команды:
Код: Выделить всё
DELETE FROM table_name WHERE date_period < '01.01.06';
Но размер БД не уменьшился (только дамп сократился в 2 раза), такое ощущение, что остались строки но они пустые. Как можно зачистить полностью БД? VACUUM поможет в этом?
Добавлено: 2007-01-09 14:14:12
Alex Keda
да
Добавлено: 2007-01-09 14:40:58
Agronom
не помогло - освободилось всего несколько килобайт