首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >备份PostgreSQL

备份PostgreSQL
EN

Stack Overflow用户
提问于 2013-06-03 18:00:05
回答 1查看 2K关注 0票数 0

我是PostgreSQL的新手,我想备份数据库。我知道有3种方法pg_dump,快照和复制和使用WAL。对于数据库的完整备份,您建议使用哪种方法?如果可能,提供代码片段。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-03 20:34:41

这在很大程度上取决于您的操作需求。

所有这三个都需要向外部程序提供支持。libpq不直接提供这些功能;您需要通过execv或类似的方式调用pg_basebackuppg_dump

这三个都有不同的优势。

如果文件系统支持基于原子快照的备份,那么基于原子快照的备份很有用,但是如果您正在使用表空间,则基于原子快照的备份将变得无用,因为您需要多卷原子快照-这是大多数系统不支持的。设置它们也是一件痛苦的事情。

pg_dump很简单,可以生成紧凑的备份,但需要更多的服务器资源才能运行,并且不支持任何类型的时间点恢复或增量备份。

pg_basebackup + WAL归档和PITR非常有用,并且在服务器上的资源成本相当低,但设置和管理起来更复杂。正确的备份测试是必不可少的。

我强烈建议允许用户控制所使用的备份方法。从pg_dump开始,因为您只需将其作为简单的命令行调用并管理单个文件。使用-Fc模式和pg_restore将其恢复到需要的位置。一旦掌握了基础知识,就可以探索配置服务器以进行WAL存档和PITR之类的事情。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16894189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档