Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
Как можно удалить из БД (из всех таблиц) все пустые строки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 11:07 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
SerdggКак можно удалить из БД (из всех таблиц) все пустые строки? "А как это?" (с) Л. Поддерев'янскьий. Например написав хранимую процедуру, которая получает имена всех таблиц и для каждой таблицы получает список колонок, и затем формирует для каждой таблицы строку вида Код: plaintext 1. Имена таблиц и полей - читаем мануал недалеко от таблицы и колонки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 11:26 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
я удалял данные из таблиц за период такой командой: Код: plaintext размер дампа уменьшился, а развернутая база сколько занимала, столько и занимает. Может быть нужно VACUUM применить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 12:04 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
Лучше VACUUM ANALYZE, а если нагрузка позволяет, то VACUUM FULL ANALYZE. Размер базы сильно не уменьшиться, зато расти будет медленне, за счет использования перераспределеного места. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 12:20 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
Serdggя удалял данные из таблиц за период такой командой: Код: plaintext Ну, вполне нормально :) Serdgg размер дампа уменьшился, а развернутая база сколько занимала, столько и занимает. Может быть нужно VACUUM применить? Не просто VACUUM, а VACUUM FULL. Просто вакуум - просто освобождает место логически (на винте место не увеличится). Ну и сразу лучше делать VACUUM FULL ANALYZE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 13:30 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
а смысл освобождать место физически, если потом база снова распухнет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 13:54 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
.....и правда, не уменьшилось место. Непонятно, отрезал половину базы, а она не уменьшилась. VACUUM FULL ANALYZE не помогает, может есть ещё какой способ, чтобы уменьшить физически занимаемое пространство ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 14:36 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
st_sergа смысл освобождать место физически, если потом база снова распухнет? Когда она ещё распухнет до такого же состояния.....а толпа бэкапов БД уже сжирает всё пространство на бэкап-сервере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 14:39 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
st_sergа смысл освобождать место физически, если потом база снова распухнет? Пример. У меня есть БД. В ней хранятся картинки. Много. Очень. Около 4*10^6. И каждая по метру. И тут настяет счастливый момент, когда ну его все нафик и остается только 10^3. Ну и вопрос, нафига мне на винте стока занятого места? И Постгресу его шерстить нафига? Т.е. если страницы будут полностью пустые - тогда конечно нафиг не нужно шерстить, а если нет? Вот где-то здесь и возникает VACUUM FULL ANALYZE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 14:43 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
Serdgg.....и правда, не уменьшилось место. Непонятно, отрезал половину базы, а она не уменьшилась. VACUUM FULL ANALYZE не помогает, может есть ещё какой способ, чтобы уменьшить физически занимаемое пространство ? Ну варианта 3. 1. Полбазы практически не занимали места. 2. Данные не удалились (может условие WHERE неправильное, коммит не сделал или еще чего - ХЗ) :) 3. Что-то глюкнуло :) Проверить легко - делаем дамп, и востанавливаем его. Если размеры файлов на винте остались те же, то или 1 или 2. Если нет - то ближе к 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 14:46 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
я так и проверил. Раньше база занимала 11 гектар в развернутом состоянии (за 3 года). Убил "старые" 1,5 года архив вместо 1,5 гектар стал занимать 700 метров. Восстановил на другом компе эту БД - она там занимает 12 гектар (с учетом уже добавленных данных)......почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 14:52 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
Andrey Daeron st_sergа смысл освобождать место физически, если потом база снова распухнет?... Т.е. если страницы будут полностью пустые - тогда конечно нафиг не нужно шерстить, а если нет? Вот где-то здесь и возникает VACUUM FULL ANALYZE. а как сильно это влияло на производительность (VACUUM vs VACUUM FULL в вашем случае)? Всымсле произовдительность при простом вакууме и при полном. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 15:02 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
st_serg а как сильно это влияло на производительность (VACUUM vs VACUUM FULL в вашем случае)? Всымсле произовдительность при простом вакууме и при полном. К сожалению такого замера не производил :( Делал сразу FULL ANALYZE. Без него - вообще торба была полная. В следующий раз попробую сделать замеры. + у меня удалаялось по дате, т.е. страницы освобождались полностью. ЗЫ Т.е. наверно стоит считать мое утверждение о НУЖНОСТИ скорее в теории. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 19:13 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
Serdggя так и проверил. Раньше база занимала 11 гектар в развернутом состоянии (за 3 года). Убил "старые" 1,5 года архив вместо 1,5 гектар стал занимать 700 метров. Восстановил на другом компе эту БД - она там занимает 12 гектар (с учетом уже добавленных данных)......почему? Ээээ. Ну, чудес не бывает, есть непонимание происходящего. Попробую сформулировать происходящее: 1. Есть БД за 3 года, файлы физически занимают на винте 11G, pg_dump базы = 1.5G. 2. Проводим удаление данных за 1.5 года. Файлы физически занимают 11G, pg_dump = 700M. 3. Разворачиваем 700М (т.е. новый) дамп на другой машине, файлы БД занимают физически 12G. Версии PG не меняются, дампы разварачиваются нормально, данных (старых) в новоразвернутой БД нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2007, 11:13 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
Andrey Daeron Версии PG не меняются, дампы разварачиваются нормально, данных (старых) в новоразвернутой БД нет? 1. Все операции производились на одном сервере (PG 7.3) 2. Удалялись все записи старше 01.01.06 с помощью команды DELETE из всех таблиц. 3. Первоначальный размер базы занимал 11 гиг в развернутом виде и 1,5 гига в архиве. 4. После удаления данных их в таблице нет, самая старшая запись - в любой таблице 01.01.06 (был один хвост, но после его зачистки ничего не поменялось и повторной процедуры - база уменьшилась на пару килобайт) 5. В итоге имеем архив на 700 метров или в развернутом виде 11 гигов с копейками ( эти копейки набежали уже после того, как был зафиксирован размер БД за 3 года) Последовательность действий такая: Удаление записей старше 01.01.06(DELETE FROM...) - Бэкап - Удаление БД (DROP) - восстановление БД - VACUUM FULL ANALYZE - Смотрим размер БД. P.S. при восстановлении БД выписывал такие строки: авторСоздание таблицы для перекрестных ссылок среди больших объектов. Число восстановленных больших объектов 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2007, 13:39 |
|
||
|
Удаление пустых строк из БД
|
|||
|---|---|---|---|
|
#18+
Мда. Есть ощущение что информация неполна. Может какие таблицы занимают основной объем (например индексами или еще чем), или архив жмется круто. Нужно ковырятся. Может весь объем занимают автор Создание таблицы для перекрестных ссылок среди больших объектов. Число восстановленных больших объектов 6 Ковырятся надобныть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2007, 19:17 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34245535&tid=2005811]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
131ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 250ms |
| total: | 481ms |

| 0 / 0 |
