4

只是试图从资源中恢复教程数据库: http ://www.postgresqltutorial.com/load-postgresql-sample-database/

所以,在这段代码之后

pg_restore -U postgres -d dvdrental /Users/fedotarte/Downloads/dvdrental.zip

我收到了当前消息:

pg_restore: [archiver] 输入文件似乎不是有效的存档

我应该怎么做才能成功恢复数据库?

先感谢您!

4

2 回答 2

5

.tar 也被触发为无效的输入文件,解压缩 dvdrental.zip 后我输入了下一个命令(指向文件夹):

pg_restore -U postgres -d dvdrental /Users/fedotarte/Downloads/dvdrental

现在它可以正常工作了!

附言

我重复了这个问题: Postgres Tutorial: pg_restore: [archiver] input file does not seem to be a valid archive

对于那个很抱歉....

于 2017-10-13T13:24:01.980 回答
1

按照我解压缩文件的说明,找到一个 tar 文件后,使用以下命令恢复:

-bash-4.2$ pg_restore -d dd -F t /tmp/dvdrental.tar

所以你打算用 tar 指定格式-F t

-bash-4.2$ psql -d dd -c "\dt+"
                          List of relations
 Schema |     Name      | Type  |  Owner   |    Size    | Description
--------+---------------+-------+----------+------------+-------------
 public | actor         | table | postgres | 40 kB      |
 public | address       | table | postgres | 88 kB      |
 public | category      | table | postgres | 8192 bytes |
 public | city          | table | postgres | 64 kB      |
 public | country       | table | postgres | 8192 bytes |
 public | customer      | table | postgres | 96 kB      |
 public | film          | table | postgres | 464 kB     |
 public | film_actor    | table | postgres | 264 kB     |
 public | film_category | table | postgres | 72 kB      |
 public | inventory     | table | postgres | 224 kB     |
 public | language      | table | postgres | 8192 bytes |
 public | payment       | table | postgres | 888 kB     |
 public | rental        | table | postgres | 1224 kB    |
 public | staff         | table | postgres | 16 kB      |
 public | store         | table | postgres | 8192 bytes |
(15 rows)
于 2017-10-13T13:36:36.537 回答