Postgres учебник: PG restore: [архиватор] входной файл не представляется допустимым архивом
Я работаю через Postgres DVD учебник и у меня возникают проблемы с импортом их образца базы данных.
под управлением pg_restore -U postgres -d dvdrental ~[filepath]/dvd-database.tar.gz
дает мне pg_restore: [archiver] input file does not appear to be a valid archive
.
мой процесс до сих пор был следующим:
- скачать dvdrental.zip
- извлечь его в a .tar using
tar czf dvd-database.tar.gz dvdrental.zip
(Я также попытался сначала извлечь zip в папку с тем же результатом, а также удалить .gz) - под управлением
pg_restore -U postgres -d dvdrental ~[filepath]/dvd-database.tar
как указано выше.
в настоящее время я использую Postgres 9.5, что может вызвать проблему. Ищете ответ, который указывает, где я ошибаюсь в этом процессе или как обновить архив базы данных Postgres до 9.5.
2 ответов
в комментариях выше решение было простым.
извлечение dvdrental.zip-файл в несжатом виде .tar не является необходимым, как это предлагается в инструкциях учебника. pg_restore
совместимость если указано на каталог, в котором был извлечен дамп базы данных.
после попытки в течение нескольких часов, которые работали для меня, это команда ниже. С PgAdmin 4 очень сложно работать.
/Library/PostgreSQL/10/bin/pg_restore -U postgres -p 5433 -d dvdrental /pg-db/dvdrental/
просто извлеките zip в папку и выполните pg_restore
команда с этими параметрами в моем случае Mac os, где /pg-db/dvdrental/
- это zip-извлеченный каталог.