在不降低 AWS RDS 性能的情况下在 AWS RDS 上运行"pg_dump"命令的方式



我们想要运行"pg_dump";在我们的RDS(Postgresql(上。但我们知道,如果我们运行";"pg_dump";在我们的RDS上,这将降低RDS在我们的生产环境中工作的性能。因此,我们不知道如何运行";"pg_dump";命令,而不会降低其性能。

我们感谢任何有助于我们解决问题的解决方案。

仅供参考,我们正在考虑一个解决方案,但我们不知道它是否正确。在我们的解决方案中,我们认为我们从RDS中获取快照,然后尝试将快照实例传输到测试环境并启用它,并尝试运行";"pg_dump";这是正确的解决方案吗?

您的快照解决方案将起作用。或者,您可以添加一个读取副本实例并配置pg_dump以连接到读取副本。

您提出的从快照恢复辅助数据库并运行pg_dump的解决方案只有一种方法。

另一种方法是创建一个读取副本并在上面运行pg_dump——这个过程非常相似,不同之处在于读取副本上的数据将保持最新。

选项三是将快照数据导出到S3,并对该数据运行任何您想要的分析。它与pg_dump不同,但根据您的用例,它可能会工作。

在这两种情况下,它都会影响连接到数据库的其他客户端的性能。但它不会停止你的数据库操作。

  1. 在进行手动快照时
  2. 创建读取副本时,RDS会获取源实例的快照,并从快照中创建只读实例。然后,每当主数据库实例发生更改时,AmazonRDS就会使用数据库引擎的异步复制方法来更新读取的副本

为了更安全,您可以放大实例,然后进行快照,完成后再缩小到以前的状态。

IMHO,首先在较低的环境中进行,然后进行生产

最新更新