开发者社区> 问答> 正文

如何快速备份pg数据库

有一个场景,需要在客户的很多节点的服务器中定期(每天夜里)备份pg数据库,数据库大小约20GB。
现在的问题是使用pg命令备份的时间过长,会影响到夜里一些其他计划任务的执行;因此我们需要尽可能地减少pg数据库的备份时间。
一开始我们将使用pg命令的备份模式替换成了直接拷贝pg目录下的data文件夹,但这存在并发读取写入而损坏表数据文件的风险。
由于硬件和资源的限制,这些节点服务器无法开启流复制或者主从的模式,只是一个简单的单机版的pg服务。唯一的问题就是数据量很大。

所以现在的问题是如何能够尽快的将一个数据量很大的pg备份下来;而且,在备份的同时,最好不要停止数据库服务。

展开
收起
chris小飞象 2016-05-02 11:54:57 4350 0
1 条回答
写回答
取消 提交回答
  • 公益是一辈子的事, I am digoal, just do it. 阿里云数据库团队, 擅长PolarDB, PostgreSQL, DuckDB, ADB等, 长期致力于推动开源数据库技术、生态在中国的发展与开源产业人才培养. 曾荣获阿里巴巴麒麟布道师称号、2018届OSCAR开源尖峰人物.

    首先,拷贝pg目录下的data文件夹不存在问题,问题是你的备份方法。 必须先进入backup模式再拷贝,进入backup模式会执行一个检查点,并强制打开FPW,拷贝完后关闭bakcup。 备份出来的数据需要通过归档进行恢复。
    如果您对PG不是非常了解,建议使用阿里云的PG,帮助您解决运维的问题。

    2019-07-17 18:51:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载