Вход:  Пароль:  
FreeSource: Comment453 ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
This is a comment on Статьи / Postgre SQL / Оптимизация, posted by Anatoly Matyakh at 2005-10-07 01:02:11

В пункте насчёт VACUUM неплохо бы указать, что делать, если VACUUM не может производиться. Недавно столкнулся с ситуацией, когда что VACUUM, что pg_dumpall мирно дохнут, выдав на-гора что-то вроде:


Invalid page header in block 946006 of pg_toast_3847720

То есть, файл повреждён, и работы дальше не будет. Что его могло повредить – повод для отдельного выяснения, а мне нужен был быстрый рецепт обхода. В таких случаях может спасти (возможно, с потерей пары записей, но возможно и целиком) употребление перед VACUUM команды


SET zero_damaged_pages=true;

После этого VACUUM не споткнётся на битых страницах, а просто их обнулит. И дамп запишется, и всё такое.


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]