我们有一个托管在 Azure 上的 postgres 数据库,我们想从“本地”postgres 数据库刷新它。
我不确定,最好的方法是什么?
通过增量备份然后增量还原或通过 Slony-I 复制,尽管我很确定 Azure 不存在此功能?
谢谢
我们有一个托管在 Azure 上的 postgres 数据库,我们想从“本地”postgres 数据库刷新它。
我不确定,最好的方法是什么?
通过增量备份然后增量还原或通过 Slony-I 复制,尽管我很确定 Azure 不存在此功能?
谢谢
一般来说,大多数数据库即服务提供商很难将它们复制到您自己的机器上/从它们复制到您自己的机器上,因此复制,至少本机 postgres 复制,可能无法正常工作。
这让您不得不使用没有紧密集成的复制解决方案,例如 Slony、Bucardo、pgpool。
我的建议是首先描述您的需求,然后使用该信息来决定哪种方法最容易维护,在我看来这比易于安装重要得多。
您是否需要随时更新数据?然后你需要一些复制方法。
数据可以延迟几小时或一天吗?可以使用进程将数据从主计算机获取到 Azure 计算机,而无需复制。
数据是否获得更新或仅插入?仅插入表更容易复制。
您是否有或可以设置 insert_date 和 last_update 日期/时间戳字段?如果您有办法知道自上次迁移以来有什么新的和/或更新的,您可以执行自己的流程,其优势在于无论您使用什么提供商,它都可以正常工作。一个可能很大的缺点是您必须自己为每个表管理它。如果您的环境已经基本成熟并且您不经常添加新表,那么这是一种可能的方法。
部分或全部表格的数据是否来自某些外部来源?在这种情况下,您可以加倍加载,如果每个源都在两个地方加载。最大的缺点是您必须为负载和监控复制您的流程,并想出一种方法来确保没有差异。
通常,此类设计的决定因素是数据可以落后多远,而在大多数情况下,一切通常都基于此。
另一个重要因素是尺寸。如果您谈论的是少量 MB,那么无论您走哪条路,这个过程都是微不足道的。如果您谈论的是 TB,那么增量或复制是绝对必须的。