【发布时间】:2016-02-06 21:33:52
【问题描述】:
我正在处理Postgres DVD tutorial,但在导入他们的示例数据库时遇到了问题。
运行pg_restore -U postgres -d dvdrental ~[filepath]/dvd-database.tar.gz 给我pg_restore: [archiver] input file does not appear to be a valid archive。
到目前为止,我的过程如下:
- 下载dvdrental.zip文件
- 使用
tar czf dvd-database.tar.gz dvdrental.zip将其解压缩为 .tar(我也尝试先将 zip 解压缩到文件夹,结果相同,然后删除 .gz) - 如上所述运行
pg_restore -U postgres -d dvdrental ~[filepath]/dvd-database.tar。
我目前使用的是 Postgres 9.5,这可能会导致该问题。寻找一个答案,指出我在这个过程中哪里出了问题,或者如何将 Postgres 数据库的存档更新到 9.5。
【问题讨论】:
-
我不认为
pg_restore可以处理.tar.gz。您是否尝试解压缩存档unzip dvdrental.zip,然后将.tar文件提供给pg_restore -
正要编辑这个——我不正确地使用了 tar 并在我无意的时候输出了一个 gzip 压缩文件。但是,现在我为
pg_restore提供了一个未压缩的tar,我得到了pg_restore: [tar archiver] could not find header for file "toc.dat" in tar archive,尽管在解压缩.tar 时存在toc.dat。 -
然后尝试解压tar并将pg_restore指向目录
-
谢谢你的工作。显然是想太多了/需要阅读文档。
标签: postgresql tar pg-restore postgresql-9.5