首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >备份DB与备份VM

备份DB与备份VM
EN

Stack Overflow用户
提问于 2011-08-29 16:22:21
回答 3查看 2.4K关注 0票数 3

我们正在为运行在VM管理程序上的Django/Postgres站点服务。我们现在正试图找出我们的后备战略,并有两个可能的选择:

pg_dump

  • Back直接使用
  1. 备份数据库,直接复制VM映像

我支持后者,因为我认为,我可以简单地备份与网站有关的一切。不过,我不确定是否需要为此关闭VM。

备份DB的更好和更推荐的方法是什么?是否有任何不使用VM备份的理由?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-29 16:55:25

PostgreSQL建议使用pg_dump进行备份,因为文件系统(或VM)备份需要关闭数据库(还有其他缺点):

http://www.postgresql.org/docs/8.1/static/backup-file.html

编辑:而且,pg_dump备份将比同一个数据库的文件系统转储要小得多。

票数 2
EN

Stack Overflow用户

发布于 2011-08-29 17:05:43

这个问题基本上可以归结为,你能把PostgreSQL的数据文件的热拷贝看作是备份吗?

答案是:不完全是。PostgreSQL非常努力地通过使用WAL来确保其文件始终处于一致状态,并确保它能够在停电时存活下来,但是从这些文件的副本中启动它会使PostgreSQL进入恢复模式。如果备份发生在错误的时刻,而PostgreSQL无法从这些文件的状态中恢复,则备份是无用的。您不希望备份/还原机制依赖于恢复机制(除非您处理的是“只崩溃”软件,而PostgreSQL不是)。

PostgreSQL无法从这些文件中恢复的概率并不高,但也不是零。另一方面,PostgreSQL无法加载其生成的SQL转储的概率为零。我更喜欢失败概率较低的备份选择。pg_dump是为备份而设计的。

票数 3
EN

Stack Overflow用户

发布于 2011-08-29 20:36:12

还有一个额外的选择。使用PostgreSQL,您可以进行在线备份,使您能够快照文件系统并保持一致性。您可以在这里看到详细信息:http://www.postgresql.org/docs/9.0/static/continuous-archiving.html

在VM中运行PostgreSQL时,我们使用这种精确的方法进行备份。

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

https://stackoverflow.com/questions/7232868

复制
相关文章

相似问题

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