Удаление данных

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Agronom
ст. сержант
Сообщения: 305
Зарегистрирован: 2006-12-11 10:30:13

Удаление данных

Непрочитанное сообщение Agronom » 2006-12-22 9:35:15

Подскажите как запросом удалить из БД данные за определенный период? Есть БД биллинга на PostgreSQL, которая начинается с 2004 года. Нужно одним махом убить все данные с 2004 по 2006 год, оставить только 2006 год. А как это сделать? Там больше 200 миллионов записей :shock:

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-12-22 10:58:10

Код: Выделить всё

WHERE коолонка_со_временем LIKE 'формат даты %'
например... примерно так.
=======
бэкап сделай, до того как дропать
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Agronom
ст. сержант
Сообщения: 305
Зарегистрирован: 2006-12-11 10:30:13

Непрочитанное сообщение Agronom » 2006-12-22 11:08:21

примерно так?

Код: Выделить всё

DROP * FROM table_name WHERE date LIKE 'date < 01/01/06';
и так для всех таблиц? :shock:
У меня их в базе целая толпа!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-12-22 11:11:57

f/ постгресс... незнаю даже...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Agronom
ст. сержант
Сообщения: 305
Зарегистрирован: 2006-12-11 10:30:13

Непрочитанное сообщение Agronom » 2007-01-09 12:12:08

удалил данные во всех таблицах с помощью команды:

Код: Выделить всё

DELETE FROM table_name WHERE date_period < '01.01.06';
Но размер БД не уменьшился (только дамп сократился в 2 раза), такое ощущение, что остались строки но они пустые. Как можно зачистить полностью БД? VACUUM поможет в этом?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-01-09 14:14:12

да
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Agronom
ст. сержант
Сообщения: 305
Зарегистрирован: 2006-12-11 10:30:13

Непрочитанное сообщение Agronom » 2007-01-09 14:40:58

не помогло - освободилось всего несколько килобайт