Идеальная версия pg_dump/pg_restore для миграции Postgresql

Мы планируем перенести локальную версию PostgreSQL 9.6 на Azure PostgresSQL 11. На наших машинах разработчиков у нас есть pg_dump/pg_restore v12.2.

(Источник — Postgresql v9.6) --› дамп/восстановление v12.2 --› (целевой Azure Postgresql v11)

У нас возникли проблемы с вышеуказанной настройкой.

У другого разработчика есть pg_dump/pg_restore версии 9.6 (совпадает с исходным кодом), и он плавно переходит на Azure PostgreSql v11.

Я прочитал stackoverflow (также другие места), которые в идеале pg_dump/pg_restore должны совпадать с целевой версией postgresql.

Какой должна быть идеальная версия pg_dump/pg_restore? Соответствует исходной или целевой версии PostgreSql?


person user15360876    schedule 13.04.2021    source источник
comment
Цитата из руководства Рекомендуется что вы используете программы pg_dump и pg_dumpall из более новой версии PostgreSQL, чтобы воспользоваться улучшениями, которые могли быть сделаны в этих программах   -  person a_horse_with_no_name    schedule 13.04.2021
comment
Использование новой версии является лучшим выбором. Вы должны отредактировать вопрос или начать новый и подробно описать проблемы и сообщения об ошибках, с которыми вы столкнулись.   -  person Laurenz Albe    schedule 14.04.2021


Ответы (1)


Сопоставьте целевую версию. Если вы используете версию X+1 инструмента экспорта базы данных, не ожидайте, что результирующий дамп будет работать с инструментом импорта базы данных версии X — более новый инструмент экспорта может выдать информацию, которая была введена только в более новой версии базы данных. С другой стороны, нет никакой гарантии, что версия X инструмента экспорта базы данных будет хорошо работать с версией X-1 базы данных. Хотя шансов намного больше.

Попробуйте использовать pg_dump/pg_restore в версии 11, если ваша целевая версия 11.

person zb226    schedule 13.04.2021