postgresql数据备份小结

Posted zhangtianxiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgresql数据备份小结相关的知识,希望对你有一定的参考价值。

这篇文章谈到的是database级别的备份

pg_dump备份, 有多个参数和选项

我想到的一个场景它没有满足:

备份A库BschemaC表,
输出的sql文件 或 归档文件中 create 和 copy 的目标 是 B . C
恢复时, 我想恢复到 B2.C, 这个地方就无解,
数据少, 文本还能替换,数据多到文件打不开怎么办

既然我们提前考虑到了这种情况, 就尽量提前规避

我总结的备份步骤如下:

第一步: 无论如何, 不管是备份database, 还是schema, 都要先备份结构, trigger, function ,table,
因为它们之间可能存在依赖关系, 避免恢复数据时事务失败, 不必要的vaccum
-s参数意味着只备份结构, 不备份data

 pg_dump  --host=localhost --port=6000 --username=demo2  --dbname=demo2  --schema=public -s 
 --file=C:UserszhangtianxiaoDocumentspgsql	_b.sql

第二步: 备份数据, 备份数据可以具体到database, schema, table级别,
当整个库, 整个schema, 又或是某张表, 总体数据量太多, 整体备份会耗时很久,
我们可以分别备份,恢复
-s参数意味着只备份数据, 不备份结构

pg_dump  --host=localhost --port=6000 --username=demo2  --dbname=demo2  --schema=public 
-t t_b -a  --file=C:UserszhangtianxiaoDocumentspgsql	_b.sql

恢复数据:
pg_dump中备份的sql 或 归档文件中 create 和 copy 的目标已经是 schema_name + table_name,
所以这里只需要提供dbname

psql --host=localhost --port=6000 --username=demo2  db_name < C:UserszhangtianxiaoDocumentspgsql	_b.sql










以上是关于postgresql数据备份小结的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL 是不是支持表(片段)的透明压缩?

PostgreSQL——查询编译部分小结

PostgreSQL——查询编译部分小结

PostgreSQL——查询编译部分小结

PostGreSQL 结合 Hibernate 在项目中的使用小结

PostgreSQL之日期时间小结