展开讨论

经验与复盘经验摘录 · 机器翻译

这特别方便,因为它允许进行时间点恢复 - 你可以告诉PostgreSQL……

这特别有用,因为它允许进行时间点恢复 - 你可以告诉PostgreSQL将WAL重放至某个特定时间点,例如,如果因为某些代码错误导致数据损坏,你可以将数据库恢复到该分钟之前的状态。备份过程分为两部分:* 在WAL生成时归档日志 - PostgreSQL有一个钩子,会运行一个程序来归档WAL段,只需将你想要用来备份的程序放在这里即可;* 从PostgreSQL启动备份 - 这会停止它向数据库文件写入,而只向WAL写入 - 然后复制数据库目录的文件。之后告诉PostgreSQL恢复向它们写入。不需要任何花哨的东西,比如文件快照。只需复制文件即可。恢复过程就是恢复上述内容,并将WAL提供到指定的时间点。我们还运行从库,这样主库被摧毁只会导致正在运行的事务中断,我见过的一些更复杂的设置还运行“延迟从库” - 从库会重放非当前的WAL,基本上展示的是数据库一小时或一天前的状态。…

源讨论我的经理花100万美元买了一台备份服务器,而我从未使用过它原帖 234 条评论 · 导入时统计
3

这条内容在回应什么?

父级讨论 · 节选

DI

你很可能是对的,正如另一条评论(以及我认为文章中)提到的,我之前并不了解备份系统的语义,我只是用几个400G的硬盘进行了测试——然后突然之间,我被提供的NFS端点表现得异常。 现在我们有了 hindsight(事后诸葛亮),所以事情比当时更清晰了,尽管如此: WAL传输而不进行任何读取听起来很有希望,但我个人并不相信从未经过验证的备份。

完整原文

社区评论 0

还没有社区评论,来聊聊你的看法。

原讨论中的回复 3

仅展示本次导入中包含的直接回复。中文为机器翻译,可查看英文原文。

AP

我认为游戏通常也有资源,而不仅仅是元数据,你会把几GB的数据放在Postgres的一行里吗?

完整原文
XU

我在数据库备份方面有点新手,你有什么我可以阅读的资料吗?这种方法听起来很有希望,但我觉得我还不太明白。

完整原文
DI

你听起来像是知道你在说什么,那么你可能知道WAL传输也需要相反的操作正常工作。 如果你们有高事务吞吐量的话,你的副本需要有能力从WAL存储中读取。 如果你们的流量较低,也许你从未遇到过这种情况,但文档中提到了这一点: https://www.postgresql.org/docs/11/archive-recovery-settings...

完整原文
在 Hacker News 阅读

尊重不同观点,分享具体经验。

登录后即可发帖、评论、转发和引用。