首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Postgresql备份理想实践

Postgresql备份理想实践
EN

Stack Overflow用户
提问于 2018-01-10 12:38:02
回答 1查看 2.1K关注 0票数 2

·使用PostgreSQL进行pg_dump逻辑备份的理想实践是什么?

从备用/从节点获取备份是理想的吗?如果复制滞后小于200 is

从备用/从节点获取备份是否理想,我们是否需要更改特定的配置?

·哪种方法是备份、逻辑备份和物理备份的好方法?DB经常更新的地方。作为灾难恢复的备份,采用哪种方法更快、更好的备份和灾难恢复(恢复)。

updated

我们当前的数据库大小为5GB,复制处于hot standby模式。

我们正在从节点上运行备份脚本,但是它每30分钟从主节点上进行远程备份。

我创建这个问题的原因是了解当备份运行时,一些COPY语句需要6分钟才能完成,即使它不会影响DB上的其他事务,如果语句花费更多时间,还会出现其他问题吗?

EN

回答 1

Stack Overflow用户

发布于 2018-01-15 10:04:35

我想到了你写的东西,以下是给你的一些想法:

  1. 如果您需要备份,那么您必须使用pg_basebackup或pg_barman (内部使用pg_basebackup) --解释在下面的1.link中。最新的pg_basebackup 10流WAL日志,所以您也备份在备份期间所做的所有更改。当然,此备份只接受整个PG实例。另一方面,它没有锁定任何桌子。如果您从远程实例执行此操作,那么它只会在PG实例上造成较小的CPU负载,而磁盘IO并不像某些文本所建议的那么大。请参阅有关我的经验的链接4。恢复非常简单-参见链接5。
  2. 如果您使用pg_dump,您必须明白,您无法保证您的备份在时间上是真正一致的--请参见链接1。有可能使用数据库的快照(参见链接2和3),但即使有了它,也不能指望100%的一致性。我们只在分析数据库上使用pg_dump,该数据库每天只加载新的1倍(昨天从生产数据库中加载分区)。您可以使用并行选项加快速度(只适用于目录备份格式)。但是缺点是PG实例的负载要高得多-- CPU使用率更高,磁盘IO更高。即使您远程运行pg_dump --在这种情况下,您也只保存磁盘IO以保存备份文件。此外,pg_dump需要在表上放置读锁,以便与新插入或复制(在复制时)发生冲突。但是,当您的数据库达到数百个GBs时,即使是并行转储也需要几个小时,在这一刻,您无论如何都需要切换到pg_basebackup。
  3. pg_barman是pg_basebackup +的“舒适版本”,它允许您防止数据丢失,即使PG实例崩溃非常严重。设置它的工作需要更多的改变,但这是绝对值得的。您将不得不设置日志归档(参见链接6),如果PG是<10,您将不得不设置"max_wal_senders“和"max_replication_slots”(无论如何,您需要复制)-所有东西都在pg-酒吧手册中,尽管描述不是很好。即使在备份之间,pg_barman也会流和存储WAL记录,因此这样您就可以确保在非常严重的崩溃情况下数据丢失几乎是零。但是,让它工作可能需要很多小时,因为描述不是很好。pg用它的命令做备份和恢复。

您的数据库是5GB大,所以任何备份方法都将是快速的。但你必须决定你是否需要时间点恢复和几乎为零的数据损失-所以你是否会投资时间来设置pg。

链接:

  1. PostgreSQL,备份和你需要知道的一切
  2. 纸张综述:14-可序列化的PostgreSQL快照隔离 -关于快照
  3. 平行倾弃数据库 -示例如何使用快照
  4. 基本备份经验
  5. 基本备份-还原tar备份
  6. 使用脚本归档WAL日志
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48187662

复制
相关文章

相似问题

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