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.

мой процесс до сих пор был следующим:

  1. скачать dvdrental.zip
  2. извлечь его в a .tar using tar czf dvd-database.tar.gz dvdrental.zip (Я также попытался сначала извлечь zip в папку с тем же результатом, а также удалить .gz)
  3. под управлением 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-извлеченный каталог.