При попытке сделать дамп базы данных postgreSQL мы получили следующую ошибку, и процесс немедленно останавливается.
Используемая команда:
[email protected]:~
07/26 11:48:11> pg_dump -U tad -h localhost -p 5932 -F c -b -v -f /home/openbravo/dump26072018.dmp openbravo
Выход:
pg_dump: reading schemas
pg_dump: reading user-defined tables
pg_dump: schema with OID 67046 does not exist
pg_dump: *** aborted because of error
Может ли кто-нибудь подсказать мне, как решить эту проблему?
Обновлять:
Я следил за этим руководством
http://www.aukema.org/2011/06/fixing-complex-corruption-in-my-dna.html
И я вижу, что в pg_tables есть объекты без имени схемы.
Но я не знаю, как обновить отсутствующие имена схем в pg_tables. Последняя часть учебника не совсем пояснительная. Надеюсь, кто-то сможет пролить свет.
Не волнуйтесь, вероятно, это просто параллельный DDL. Попробуйте еще раз и посмотрите, сохраняется ли ошибка.
нет лучшего решения?
Какой версией вы пользуетесь? (select version). Полагаю, вы не можете найти здесь свой OID: select oid, nspname from pg_namespace? Не могли бы вы попробовать найти его в этих системных каталогах + не могли бы вы рассказать нам, есть ли в нем что-то особенное? (pg_class.relnamespace, ,g_operator.oprnamespace, pg_conversion.connamespace, pg_opclass.opcnamespace, pg_aggregate.aggnamespace, pg_proc.pronamespace)
@tukan это 9.1.19
Хорошо, это начало. Вы нашли его в каком-либо из каталогов?





Наконец нашел способ сделать резервную копию, исключив поврежденную таблицу следующим образом
pg_dump --exclude-table=ad_context_info -h localhost -p 5932 -U postgres > dumpsabnew.dmp
Создайте резервную копию набора данных, выключив базу данных и скопировав куда-нибудь файлы данных (
/var/lib/postgresqlв Ubuntu), затем попробуйте исправить таблицы каталога, как описано в этой теме: postgresql.org/message-id/26697.1156945365%40sss.pgh.pa.us