如何将示例数据库导入postgres?

时间:2017-05-05 03:03:44

标签: postgresql

根据website我可以下载他们的示例文件Future[(Int,Int)],但

  

数据库文件采用zipformat(dvdrental.zip),因此您需要提取>它到dvdrental.tar

首先,什么是焦油?我认为它必须被dvdrental.zip压缩?我甚至不知道如何创造一个" tar"通过它自己。我试过了:

tar.gz

tar -zcvf dvdrental.tar.gz dvdrental

我尝试使用pgAdmin 4导入,然后我得到:

tar -cf dvdrental.tar dvdrental

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

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

使用Mac OS 10.12.4。 Postgres 9.6。和PgAdmin 4(不确定它是否处于测试阶段?它崩溃了并且做了各种荒谬的窗口移动和突出显示)

4 个答案:

答案 0 :(得分:1)

我首先提取了.zip存档。然后打开pgAdmin,并遵循指南“使用pgAdmin加载DVD出租数据库”

https://www.postgresqltutorial.com/load-postgresql-sample-database/

请注意将“格式”字段从“自定义或Tar”更改为“目录”。然后,您应该能够还原数据库。

答案 1 :(得分: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内容。

答案 2 :(得分:0)

从引用的链接中获取示例数据集,并将其保存在某处。 假设已安装并运行postgres,请执行以下操作:

运行createdb dvdrental

运行pg_restore -d dvdrental ./dvdrental,其中“ ./dvdrental”是下载和解压缩文件的路径。

答案 3 :(得分:0)

要在 postgres 中创建示例数据库,请执行以下步骤:

1.- 创建目录并输入:

mkdir -p /tmp/dvdrental && cd /tmp/dvdrental

2.- 下载 zip 文件 dvdrental.zip:

wget https://www.postgresqltutorial.com/wp-content/uploads/2019/05/dvdrental.zip

3.- 解压缩文件 .zip 和更高版本的 .tar:

unzip dvdrental.zip

tar -xvf dvdrental.tar

4.- 在执行时替换 $$PATH 变量并使用 grep 命令查看它:

sed -e 's/\$\$PATH\$\$/\/tmp\/dvdrental/g' restore.sql  | grep --color dvdrental

5.- 为特定主机 (localhost)、端口 (5433)、用户 (db) 和数据库名称 ( postgres):

sed -e 's/\$\$PATH\$\$/\/tmp\/dvdrental/g' restore.sql  | psql -h localhost -p 5433 -U db -d postgres

最后,我用程序 pgAdmin III 显示导入成功 I show import successful with program pgAdmin III