Ошибка загрузки примера базы данных PostgreSQL: "Не удалось найти заголовок для файла ..."

Я учусь использовать PostgreSQL и пытаюсь вставить всю базу данных практики "dvdrental", которую я загрузил из учебного блога PostgreSQL. Я работаю на Mac OSX и использую PostgreSQL через терминал (и ZSH).

Вот шаги, которые я предпринял:.

  1. скачать файл dvdrental.zip
  2. создать базу данных dvdrental под нужным пользователем и с нужными правами доступа
  3. разархивировал dvdrental.zip
  4. распаковать папку, которую я извлек из файла .zip, в tar-файл

Вот вывод ls -l, который находится внутри извлеченного каталога:

2163.dat
2165.dat
2167.dat
2168.dat
2169.dat
2171.dat
2173.dat
2175.dat
2177.dat
2179.dat
2181.dat
2183.dat
2185.dat
2187.dat
2189.dat
restore.sql
toc.dat

Вот команда, которую я использую для получения дампа образца базы данных в мою вновь созданную базу данных:

~>pg_restore -U postgres -d weather /users/edchigliak/downloads/dvdrental.tar

Ошибка, которую я получаю:

~>pg_restore: [tar archiver] could not find header for file "toc.dat" in tar archive

restore.sql - это обычный файл операторов SQL в вашем файле "dvdrental.tar". Сначала создайте вашу базу данных с помощью приведенного ниже оператора;

CREATE DATABASE db_name ENCODING = 'UTF8';

После этого вместо pg_restore вы можете использовать psql.

psql -echo-all --file=restore.sql db_name
Комментарии (0)