Я учусь использовать PostgreSQL и пытаюсь вставить всю базу данных практики "dvdrental", которую я загрузил из учебного блога PostgreSQL. Я работаю на Mac OSX и использую PostgreSQL через терминал (и ZSH).
Вот шаги, которые я предпринял:.
Вот вывод 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