pg_restore恢复备份(记录一下)

pg_restore
名称
pg_restore – 从一个由pg_dump创建的归档文件恢复一个PostgreSQL数据库
大纲
pg_restore [connection-option…] [option…] [filename]

描述
pg_restore是一个用来从pg_dump创建的非文本格式归档恢复PostgreSQL数据库的工具。它将发出必要的命令把该数据库重建成它被保存时的状态。这些归档文件还允许pg_restore选择恢复哪些内容或者在恢复前对恢复项重排序。这些归档文件被设计为可以在不同的架构之间迁移。

pg_restore可以在两种模式下操作。如果指定了一个数据库名称,pg_restore会连接那个数据库并且把归档内容直接恢复到该数据库中。否则,会创建一个脚本,其中包含着重建该数据库所必要的 SQL 命令,它会被写入到一个文件或者标准输出。这个脚本输出等效于pg_dump的纯文本输出格式。因此,一些控制输出的选项与pg_dump的选项类似。

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

选项
pg_restore接受下列命令行参数。

filename
指定要被恢复的归档文件(对于一个目录格式的归档则是目录)的位置。如果没有指定,则使用标准输入。

-a
–data-only
只恢复数据,不恢复模式(数据定义)。如果在归档中存在,表数据、大对象和序列值会被恢复。

这个选项类似于指定–section=data,但是由于历史原因两者不完全相同。

-c
–clean
在重新创建数据库对象之前清除(丢弃)它们(除非使用了–if-exists,如果有对象在目标数据库中不存在,这可能会生成一些无害的错误消息)。

-C
–create
在恢复一个数据库之前先创建它。如果还指定了–clean,在连接到目标数据库之前丢弃并且重建它。

在使用这个选项时,-d提到的数据库只被用于发出初始的DROP DATABASE和CREATE DATABASE命令。所有要恢复到该数据库名中的数据都出现在归档中。

-d dbname
–dbname=dbname
连接到数据库dbname并且直接恢复到该数据库中。

-e
–exit-on-error
在发送 SQL 命令到该数据库期间如果碰到一个错误就退出。默认行为是继续并且在恢复结束时显示一个错误计数。

-f filename
–file=filename
为生成的脚本或列表(当使用-l时)指定输出文件。默认是标准输出。

-F format
–format=format
指定归档的格式。并不一定要指定该格式,因为pg_restore将会自动决定格式。如果指定,可以是下列之一:

c
custom
归档是pg_dump的自定义格式。

d
directory
归档是一个目录归档。

t
tar
归档是一个tar归档。

-I index
–index=index
只恢复提及的索引的定义。可以通过写多个-I开关指定多个索引。

-j number-of-jobs
–jobs=number-of-jobs
使用并发任务运行pg_restore中最耗时的部分 — 载入数据、创建索引或者创建约束。对于一个运行在多处理器机器上的

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Walter Sun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值