pg_dump 增强

摘要: pg_restore 具有类似的类似的功能来恢复备份, pre_data, data, post_data 和 exclude-table-data 选项。

pre-data: 这将是没有 check, 主键, 索引 约束的表结构, 方法

data: 这就是数据
post-data: 这将是 全部约束, 主键, 索引等。

用例: 该部分是将运行的数据库转换为模板

假象, 你已经构建了应用和大量的测试数据, 最终你会将数据部署为一个模板或者一组脚本。 你确信不想包含垃圾数据, 所以
你想备份的数据包括 pre-data, post-data.既然想法是如此的轻盈蓬松, 那么你不妨将它存储为纯文本, 得到下面的命令


pg_dump --host localhost --port 5432 --format plain --section pre-data --section post-data --file myscript.sql mydb

用例: 使用 exclude-table-data

exclude-table-data 选项非常有用, 不会浪费你去备份大量的静态数据, 但是仍然能够备份结构。 他可以像例子一样
拿来部署。
设想,你开发了很多应用并管理大量的数据, 你想部署数据以及状态, 税收等, 但是不想备份垃圾订单, 却有希望
备份订单等表结构成为脚本的一部分。一种做法是为存储数据预留一个 schema, 另一种方法是将其他数据打包。
采用schema 存储将包含所有客户数据, 你可以创建一个类似的脚本, 这个脚本可以包含所有其他数据, 但只是在存储模式
中仅仅存储表结构而不会考虑数据。


pg_dump --host localhost --port 5432 --format plain --exclude-table-data= store.* --file myscript.sql mydb

这些命令都可以使用自定义和tar备份格式

上一篇:《Greenplum5.0 最佳实践》 高可用性<1>


下一篇:理解 postgresql.conf 的work_mem 参数配置