pg_restore

太阳3年前技术文章2248

逻辑备份恢复

PG提供了pg_restore的命令可以为通过pg_dump转储的数据进行逻辑恢复。对于SQL脚本可通过psql进行恢复

语法

pg_restore [connection_option] [option] [filename]

connection_option与pg_dump类似,不同之处是pg_restore恢复具体数据库时需要使用-d dbname来指定。


options

参数

含义

filename

需要恢复的备份文件

-a/--no-data

只恢复数据,不恢复数据定义

-c/--clean

恢复数据前先清空对应数据

-C/--create

在恢复数据前先创建

-d/--dbname

指定恢复到具体数据库中

-e/--exit-on-error

表示恢复数据库遇到报错则退出,默认报错仍继续并最终显示一个错误计数

-F/--format

指定恢复的备份文件格式,一般而言pg_restore会自行判断,若需要指定可以指定t、d、c

-I/--index

只恢复命名的索引

-j

开启多个并发进行恢复

-n namespaces 或 --schema

只恢复指定名字的模式或者表数据,可配合-t使用

-O/--no-owner

默认恢复对象是不指定owner

--no-tablespaces

恢复数据均恢复至默认表空间

-P

只恢复指定函数

-s/--schema-only

只恢复指定表结构

-t/--table

只恢复指定表

-T/--trigger

只恢复指定触发器

-f

指定恢复文件


示例

psql恢复指定SQL脚本
psql -U xxx -p xxx -h xxx -d db_name -f db_name.sql

恢复format=c下的数据

pg_restore -U xxx -p xxx -h xxx db_name -Fc -f db_name.dump
-- -C指定创建对应的dbname,若不使用-C则会恢复带-d指定数据库下
pg_restore -U xxx -p xxx -h xxx  -d db_name -C db_name.dump

将dump文件恢复至new_dbname中

--需提前创建好new_dbname
pg_restore -U xxx -p xxx -h xxx -d new_dbname db_name.dump

恢复指定表

pg_restore -U xxx -p xx -h xxx -d db_name -n public -t t1 -C du_name.dump

恢复-d格式下备份文件至已存在部分对象的数据库中

-- -c表示先做清理后恢复
pg_restore -U xxx -p xxx -h xxx -d db_name -c  ./
标签: PostgreSQL
返回列表

上一篇:pg_dump

下一篇:K8s数据持久化

相关文章

PG的多版本并发控制(二)

PG的多版本并发控制(二)

二、 PG数据库DML操作的相关概念xmin、xmax、cmin、cmax是每个数据行tuple上的隐藏字段,主要用于区别不同事务以及相同事务内tuple的行版本。在了解这四个参数概念前,我们首先需要...

PG的锁(三)

六、锁的维护6.1 锁相关参数deadlock_timeout(integer):默认1s,表示pg数据库仅对锁超时大于1s的情况进行死锁检测。log_lock_waits : 默认关闭,若打开该参数...

PG的锁(一)

一、表级锁1.1 表级锁模式常见锁模式以及应用场景:ACCESS SHARE :select操作获取该模式锁资源,通常情况下所有只读取不修改表的查询都会获取该模式锁资源ROW SHARE : sele...

PG查询性能Top SQL

一、查询当前正在运行的Top SQL    查询当前正在运行的会话中耗时最长的Top SQL,where条件可按需修改SELECT pgsa.datname AS database_name    ...

REPMGR-PG高可用搭建(一)

REPMGR-PG高可用搭建(一)

PG高可用对比数据库复制的术语和定义这些术语和定义应该有助于讨论复制。在与其他Postgres开发人员进行了大量讨论之后,我编译了它们,但是这些定义应该是普遍可用的,并且也应该适用于其他RDBMS。复...

PG的统计信息(三)

1.3 数据分布类统计信息1.3.1 pg_stats通过对pg_stats的查询,可以查看每个字段的数据分析统计信息,类似SQL Server的直方图,为优化器选择最佳执行计划提供依据,pg_sta...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。