Postgresql pg_dump для базы данных «неверная страница в блоке» не работает должным образом - PullRequest
0 голосов
/ 17 июня 2020

У нас есть база данных 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, чтобы игнорировать страницу с ошибкой, но завершить назад или любое другое решение.

...