Доброго всем времени года!Моя проблема, кратко. Есть FreeBSD 5.2, на которой вертится СУБД PostgreSQL. Дело в том, что есть одна таблица, куда регулярно вносится и удаляется потом записей порядка 300 000.
Т.е., вносится INSERT'ом, удаляется DELETE'ом. При этом VACUUM не делается... БД выросла до охрененных размеров при этом, так, что я не смог её не остановить, не посмотреть, сколько данных в этой таблице.
Я остановил постгрес, намереваясь позже запустить его и сделать под админом VACUUM FULL, в резулатате он у меня висит... :(Люди, что с ним сделать? Там лежат данные, которые нужны, причём очень. Мне нужно, что бы база продолжила функциклировать, т.е., лучше бы сделать VACUUM её...
Хелп, плиз!
способ 1
postgresql$ vaccumdb -v databaseспособ2
1. pg_dump
2. dropdb
3. createdb
4. pg_restore
>способ 1
>postgresql$ vaccumdb -v database
>
>способ2
>1. pg_dump
>2. dropdb
>3. createdb
>4. pg_restore
При способе 2 данные потеряются?
>>способ 1
>>postgresql$ vaccumdb -v database
>>
>>способ2
>>1. pg_dump
>>2. dropdb
>>3. createdb
>>4. pg_restore
>
>
>При способе 2 данные потеряются?чего им вдруг теряться ?
1. делаем dump базы данных в файл (man pg_dump),
2. удаляем базу
3. создаем базу
4. восстанавливаем базу из дампа
(предварительно читаем man pages)
>Т.е., вносится INSERT'ом, удаляется DELETE'ом. При этом VACUUM не делается...
А вот это зря.. Нужно переодически это делать, я у себя делаю раз в 4 часа обычный VACUUM, раз в сутки FULL ANALYZE + backup.
Так что более ли менее шустро всё работает и бэкап есть в случае чего..>БД выросла
>до охрененных размеров при этом, так, что я не смог её
какие размеры если не секрет? :)>не остановить, не посмотреть, сколько данных в этой таблице.
>Я остановил постгрес, намереваясь позже запустить его и сделать под админом VACUUM
>FULL, в резулатате он у меня висит... :(Что значит висит, поподробнее можно?
>>БД выросла до охрененных размеров при этом, так, что я не смог её
>какие размеры если не секрет? :)
18 Гигабайт на диске. Диск 20-гиговый, машина Атлон 900.
>>не остановить, не посмотреть, сколько данных в этой таблице.
>>Я остановил постгрес, намереваясь позже запустить его и сделать под админом VACUUM
>>FULL, в резулатате он у меня висит... :(
>
>Что значит висит, поподробнее можно?Сорри за висит. Он не висит, он медленно работает, как оказалось... Т.е., я запускаю ( при запуске системы ) постгрес, висит четыре процесса postmaster'а, слушает на порту 5432, но зайти нельзя - пишет, что "ни одной БД не запущено".
Но после получаса такого простоя я зашёл! И могу смотреть любую таблицу, кроме tempstat!, в которой у меня так много записей. Говорю DELETE FROM tempstat;
Он мне.........
И ждём. Через час.... DELETE 1136176;Запускаю VACUUM FULL... И всё, ответа пока нет...
>Запускаю VACUUM FULL... И всё, ответа пока нет...
Надо было сделать verbose.. Тогда хоть процесс видно :)
Попробуйте подаждать.. dump+restore с такими объёмами будет не быстрее, ИМХО..
>Попробуйте подаждать..
Попробую, что делать-то ещё? :)
>>>БД выросла до охрененных размеров при этом, так, что я не смог её
>>какие размеры если не секрет? :)
>18 Гигабайт на диске. Диск 20-гиговый, машина Атлон 900.
>
>
>>>не остановить, не посмотреть, сколько данных в этой таблице.
>>>Я остановил постгрес, намереваясь позже запустить его и сделать под админом VACUUM
>>>FULL, в резулатате он у меня висит... :(
>>
>>Что значит висит, поподробнее можно?
>
>Сорри за висит. Он не висит, он медленно работает, как оказалось... Т.е.,
>я запускаю ( при запуске системы ) постгрес, висит четыре процесса
>postmaster'а, слушает на порту 5432, но зайти нельзя - пишет, что
>"ни одной БД не запущено".
>Но после получаса такого простоя я зашёл! И могу смотреть любую таблицу,
>кроме tempstat!, в которой у меня так много записей. Говорю DELETE
>FROM tempstat;
>Он мне.........
>И ждём. Через час.... DELETE 1136176;
>
>Запускаю VACUUM FULL... И всё, ответа пока нет...Pri 18Gb baze i 20Gb na diske - ne jest horosho.
Pri silnom zapolnenii diska ja na svojej baze zame4al snizenije proizvodi
telnosti. U menja ne 18Gb, no 7-8Gb.
Jest tablici s poradka 3-4 millionami zapisei. VACUUM na nih idet
poradka 3o min.
Kakaja versija postgresql ?
>>
>>Запускаю VACUUM FULL... И всё, ответа пока нет...
>
>Pri 18Gb baze i 20Gb na diske - ne jest horosho.
>Pri silnom zapolnenii diska ja na svojej baze zame4al snizenije proizvodi
>telnosti. U menja ne 18Gb, no 7-8Gb.
>Jest tablici s poradka 3-4 millionami zapisei. VACUUM na nih idet
>poradka 3o min.
>Kakaja versija postgresql ?
Версия - 7.4.
Блин, Я ДО СИХ ПОР ЖДУ!!!
>Блин, Я ДО СИХ ПОР ЖДУ!!!
:)
А ты хотел, 18 гигов..
Запусти в другой консоли top и любуйся..
>
>>Блин, Я ДО СИХ ПОР ЖДУ!!!
>:)
>А ты хотел, 18 гигов..
>Запусти в другой консоли top и любуйся..Что, собственно говоря, и сделал. :)
Всё!
Вакуум закончился!
Длился ровно 16 часов!
Аффигеть!Больше не буду делать таких ошибок :)