PostgreSQL逻辑备份-pg_dumpall

pg_dumpall 用于将所有数据库转储到一个文本文件中。该文本文件包含可用作恢复数据
库的 SQL 命令。它通过为集群中的每个数据库调用 pg_dump 来做到这一点。
pg_dumpall 还转储所有数据库共有的全局对象,即数据库角色和表空间(pg_dump 不
保存这些对象)。
pg_dumpall 调用 pg_dump 来进行备份,备份不同的数据库需要切换连接,无法在不同
的数据库之间共享 snapshot,因此只能单库一致。这意味着每个数据库自身是一致的,
但是不同数据库的快照并不同步。

1.pgdumpall优缺点

 

优点:
它转储全局的东西——角色和表空间,这些不能被 pg_dump 转储。
单个命令,你可以获得整个集群的结果
常用来备份全局对象而非全库数据
缺点:
转储很大,因为它未压缩
转储非常慢,因为它是顺序完成的,只有一个工作程序
仅恢复部分转储很难
生成 sql 脚本,pg_dumpall 只支持文本格式
它在内部调用 pg_dump
        建议每天对角色和表空间定义等全局对象进行备份,但不建议每天使用 pg_dumpall 来备份全库数据,因为 pg_dumpall 仅支持导出为 SQL 文本格式,而使用这种庞大的 SQL 文
本备份来进行全库级别的数据库恢复是及其耗时的,所以一般只建议使用 pg_dumpall 来
备份全局对象而非全库数据。
2.pg_dumpall示例:
2.1导出所有数据库
pg_dumpall > all.sql 

-- 排除单个数据库 
pg_dumpall --exclude-database='testdb' -f all.sql 

-- 排除多个名字相近数据库 
pg_dumpall --exclude-database='testdb[12]' -f all.sql 

-- 排除多个名字完全不同数据库 
pg_dumpall --exclude-database='testdb' --exclude-database='newdb' -f all.sql

2.2导出所有Role和Tablespace

#仅导出 Role: 
pg_dumpall 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值