PostgreSQL备份恢复命令:pg_restore恢复压缩格式(-Fc)和psql恢复文本格式(-Fp)的使用

1、pg_restore用于恢复由 pg_dump 创建的 PostgreSQL 数据库备份的命令行工具。它可以恢复整个数据库或特定的表、数据、函数等。pg_restore仅可恢复由pg_dump导出的二进制格式(-Fc)的备份文件。pg_restore可以选择性地恢复数据库的不同部分,如表、索引、函数等。它支持通过选项来指定恢复的目标数据库和恢复的选项,例如并行恢复、恢复特定的表或数据。

以下是pg_restore部分常见参数:

-h host 或 --host=host:指定数据库服务器的连接地址(主机名或IP地址)。
-p port 或 --port=port:指定数据库服务器的连接端口号,默认是 5432。
-U username 或 --username=username:指定连接数据库的用户名。
-d dbname 或 --dbname=dbname:指定要恢复的数据库名称。连接到该数据库并直接恢复数据。
-a 或 --data-only:只恢复数据,不包括数据定义(如表结构)。
-s 或 --schema-only:只恢复数据定义,不包括数据。
-t table 或 --table=table:只恢复指定的表。可以多次使用此选项来指定多个表。
-n schema 或 --schema=schema:只恢复指定的模式(schema)中的对象。可以多次使用此选项来指定多个模式。
-v 或 --verbose:输出更多信息,使恢复过程更加透明。
-j number-of-jobs 或 --jobs=number-of-jobs:使用并发任务运行 pg_restore,支持自定义和目录归档格式,以加速恢复过程。

2、psql可恢复纯文本格式(-Fp),通常用于恢复小型数据库或需要手动控制恢复过程的场景

pg_restore 允许更精细的控制恢复过程,可以选择性地恢复特定的对象或数据段,而 psql 则只能按顺序执行备份文件中的 SQL 命令。

示例

  • 1、使用pg_restore恢复二进制格式备份文件:

    pg_restore -U ts_user -d ts_db -v < /backup/backup_file.dump >/opt/restore.log 2>&1
    

    #  这将把/backup下的backup_file.dump备份文件(二进制压缩格式)恢复到ts_user所属的ts_db库中,同时在/opt下生成恢复日志restore.log以查看恢复过程中是否有报错。

  • 2、使用psql恢复纯文本格式备份文件:

    psql -U u0711 -d db0711 < /backup/backup.sql >/opt/restore.log 2>&1

        #这将把/backup下的/backup.sql备份文件(纯文本格式)恢复到u0711所属的db0711中,同样生成日志以供查看恢复过程中的报错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

宇宙超级无敌天下第一雷霆霹雳爆龙战士

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

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

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

打赏作者

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

抵扣说明:

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

余额充值