pg_dump和pg_restore对PostgreSql进行备份和还原

1、什么是pg_dump和pg_restore

pg_dump是用于备份PostgreSQL数据库的工具。它可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。

每种数据库都提供有这方面的工具,例如Oracle的exp/imp,Informix的dbexp/dbimp,MySQL的mysqldump,而PostgreSQL提供的对应工具为pg_dumppg_restore

2、使用pg_dump对数据库进行备份

2.1 导出常用的命令

2.1.1 导出单表数据

pg_dump -h 127.0.0.1 -U admin -p 5432 -W db -t t1 –inserts > bak.sql

# 导出单表(public模式下的testdump表)
pg_dump -d postgres -U test1 -t public.testdump >singletable.sql 

2.1.2 导出多个表数据

pg_dump -h 127.0.0.1 -U admin -p 5432 -W db -t t1 -t t2 –inserts > bak.sql

2.1.3 导出整个数据库

pg_dump -h 127.0.0.1 -U postgres -p 5432 -Fc testdb >/var/lib/postgresql/bak.sql

# 导出整个库(postgres数据库)
pg_dump -d postgres -U test1 >singledatabase.sql

2.1.4 只导出表结构,不导出数据

pg_dump -h 127.0.0.1 -U admin -p 5432 -W db -s > bak.sql

# 只导出库结构(postgres数据库结构)
pg_dump -d postgres -U test1 -s >schemaonly.sql

2.1.5 只导出数据,不导出表结构

pg_dump -h 127.0.0.1 -U admin -p 5432 -W db –inserts -a > bak.sql

对多个表导出,每个表都需要加参数-t
pg_dump tina -t test -t test1 >filename

导出表结构:-s -t
pg_dump -s -t tina.tbtest testdb

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值