У нас есть база данных postgresql 11 в системе. Всего около 8 столов. Через несколько дней мы столкнулись с этой проблемой
ERROR: invalid page in block 9698 of relation base/16385/16560 SQL state: XX001
Согласно моим исследованиям, мы должны установить set zero_damaged_pages=on;
, чтобы исправить эту проблему. Мы установили и выполнили несколько избранных запросов, которые отлично работают. Затем мы решили сделать резервную копию этой базы данных через pg_dump. Это задание не было выполнено успешно, но были скопированы все записи.
Теперь, в новой системе, мы импортировали резервную копию, мы узнали, что схема базы данных не копируется должным образом, из-за чего произошло дублирование данных. Мы повторили это с другой базой данных, и все было в порядке. Все работает нормально, включая восстановление.
Наконец, я прихожу к выводу, что из-за ошибки в блоке страницы база данных не была должным образом скопирована. Есть ли такая опция, как set zero_damaged_pages=on;
в pg_dump, чтобы игнорировать страницу с ошибкой, но завершить назад или любое другое решение.