Дамп Postgres, исключая поврежденный блок страницы - PullRequest
0 голосов
/ 05 апреля 2019

Я пытался сделать дамп моей базы данных.Во время сброса я получил следующую ошибку.Я знал, что таблица в моей базе данных повреждена, и я могу использовать опцию exclude, чтобы исключить поврежденную таблицу и получить дамп оставшихся таблиц.Но я ищу опцию выгрузки даже поврежденной таблицы, исключая недопустимые блоки страниц.

Команда, которую я использовал для выгрузки дампа:

pg_dump -U postgres -p 5432 -d DBNAME -v -n SCHEMA_NAME -f "OUTFILE.sql"

Выводится ошибка:

 pg_dump: Dumping the contents of table "TABLE_NAME" failed: PQgetResult() failed.
    pg_dump: Error message from server: ERROR:  invalid page in block 2145280 of relation base/16384/25464

Мне удалось получить доступ к поврежденной таблице и ее данным.Поэтому я считаю, что часть данных, к которой я могу получить доступ, может быть сброшена.Пожалуйста, поделитесь, если есть возможность достичь этого.

1 Ответ

2 голосов
/ 05 апреля 2019

Вы можете установить zero_damaged_pages = on, тогда PostgreSQL должен обнулять (и игнорировать) такие страницы.

...