pg_restore的。它有什么作用?

时间:2016-06-01 19:18:43

标签: postgresql

我读了这些文档:

  

描述

     

pg_restore是一个用于从中恢复PostgreSQL数据库的实用程序   由pg_dump以其中一种非纯文本格式创建的存档。它   将发布重建数据库所需的命令   声明它在被保存的时候就存在了。存档文件也允许   pg_restore选择恢复什么,甚至重新排序   恢复之前的项目。存档文件旨在   可跨机构移植。

     

pg_restore可以在两种模式下运行。如果指定了数据库名称,   pg_restore连接到该数据库并恢复存档内容   直接进入数据库。否则,包含SQL的脚本   创建重建数据库所需的命令并将其写入   文件或标准输出。此脚本输出等效于plain   pg_dump的文本输出格式。控制的一些选项   因此输出类似于pg_dump选项。

     

显然,pg_restore无法恢复不存在的信息   在存档文件中。例如,如果存档是使用   "将数据转储为INSERT命令"选项,pg_restore将无法   使用COPY语句加载数据。

但是,如果pg_restore只是加载数据库数据,或者它也创建了数据库的结构,那么我仍然不清楚。

1 个答案:

答案 0 :(得分:1)

这取决于您传递的选项,显然取决于转储中存储的信息。如果您继续阅读文档,您将看到此选项:

  

- 仅限数据

     

仅恢复数据,而不是模式(数据定义)。如果,则恢复表数据,大对象和序列值   存在于档案中。        此选项类似于,但由于历史原因不同,指定--section = data。

显然,您只能恢复架构,但不能恢复数据。