2017-05-05 170 views
0

根据website我可以下载他们的样本文件dvdrental.zip,但如何将样本数据库导入到postgres中?

数据库文件是在zipformat(dvdrental.zip),所以你需要解压>它dvdrental.tar

第一所有,什么是焦油?我认为它必须是tar.gz才能被压缩?我甚至不知道如何自己创建一个“焦油”。我想:

tar -zcvf dvdrental.tar.gz dvdrental

tar -cf dvdrental.tar dvdrental

我尝试用pgAdmin的4导入和我得到之一:

pg_restore: [archiver] input file does not appear to be a valid archive

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

。现在,不要问我为什么一个受欢迎的教程网站创建了错误格式的文件。但是,你能告诉我如何重新包装这个文件,以便我可以将它用作样本数据库吗?

使用Mac OS 10.12.4。 Postgres 9.6。而pgAdmin的4(不知道这是否是在测试它坠毁并执行各种无厘头的窗口移动和突出的?)

回答

0

如果你看看.tar档案,你会发现restore.sql其中顶部:

-- File paths need to be edited. Search for $$PATH$$ and 
-- replace it with the path to the directory containing 
-- the extracted data files. 

所以创建示例数据库你可以在某处提取.tar内容,并使用一个命令:

sed -e 's/\$\$PATH\$\$/\/path\/to\/extracted\/files/g' restore.sql | psql 

或者

sed -e 's/\$\$PATH\$\$/\/path\/to\/extracted\/files/g' restore.sql > r.sql 

并尝试使用PgAdmin执行r.sql内容。

相关问题