Используйте pg_restore для восстановления из более новой версии PostgreSQL

У меня есть (производственный) сервер БД с PostgreSQL v9. 0 и машина для разработки с PostgreSQL v8.4. Я хотел бы взять дамп производственной БД и использовать его на машине разработки. Я не могу обновить postgres на машине разработчика.

На производственной машине я запускаю:

pg_dump -f nvdls.db -F p -U nvdladmin nvdlstats

На машине разработки я запускаю:

pg_restore -d nvdlstats -U nvdladmin nvdls.db

И я получаю эту ошибку:

pg_restore: [archiver] unsupported version (1.12) in file header

Это происходит независимо от того, что я при сбросе выберите формат custom, tar или plain_text.

Я нашел одно обсуждение в Интернете , в котором предлагается использовать более новую версию pg_restore на машине разработчика. Я попробовал это, просто скопировав двоичный файл 9.0 на машину разработчика, но это не удалось (не неожиданно) из-за проблем со связью.

Я думал, что смысл использования дампа plain_text в том, что это будет чистый переносимый SQL. По-видимому, нет.

Как мне вставить 9.0 DB в мой 8. 4 установить?

10
задан Somnath Muluk 19 October 2016 в 08:24
поделиться