2016-02-06 4 views
4

Я работаю через Postgres DVD tutorial и сталкиваюсь с проблемами, импортирующими их примерную базу данных.Учебник Postgres: pg_restore: входной файл [архиватор] не представляется допустимым архивом

Бег 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. Распакуйте его в .tar с помощью tar czf dvd-database.tar.gz dvdrental.zip (я также пытался извлекая молнию в папку с первой же результат, а также сброс .gz)
  3. Запуск pg_restore -U postgres -d dvdrental ~[filepath]/dvd-database.tar, как указано выше.

В настоящее время я использую Postgres 9.5, что может вызвать проблемы. Ищете ответ, который указывает, где я ошибаюсь в этом процессе, или как обновить архив базы данных Postgres до 9.5.

+0

Я не думаю, что 'pg_restore' может обрабатывать' .tar.gz'. Вы пытались просто разархивировать архив 'unzip dvdrental.zip', а затем загрузили файл' .tar' в 'pg_restore' –

+0

. Теперь я хотел бы отредактировать это - я неправильно использовал tar и выводил gzip-файл, когда я не имел в виду к. Однако теперь, когда я предоставляю 'pg_restore' несжатый tar, я получаю' pg_restore: [tar archiver] не удалось найти заголовок для файла «toc.dat» в tar-архиве', хотя файл toc.dat присутствует, когда .tar распакован. –

+0

затем попробуйте распаковать tar и указать pg_restore в каталог –

ответ

4

По отзывам выше, решение было простым.

Извлечение файла dvdrental.zip в несжатый .tar не требуется, как указано в инструкциях к учебнику. pg_restorewill work если указана директория, в которой был удален дамп базы данных.