本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
物理复制
物理复制是块级复制,其中 WAL 文件从主数据库传送到辅助数据库。物理复制也称为流复制,因为与基于文件的日志传送相比,它允许备用服务器保持最新状态。备用服务器连接到主数据库。然后,主数据库将 WAL 记录流式传输到备用数据库,而不必等待 WAL 文件填充。如果您有中小型数据库,并且计划使用相同的数据库版本,则物理复制是一个值得考虑的选择。此外,您可以对较大的数据库使用物理复制,但同步可能需要相当长的时间。您可以使用以下两种方法之一执行物理复制:
-
异步:异步方法是默认选项。如果主服务器崩溃,则提交到数据库的某些事务可能无法在备用服务器上复制,从而导致数据丢失。
-
同步:同步方法能够确认事务所做的所有更改都已传输到一个或多个同步备用服务器。
架构
下图显示了使用物理复制在 Amazon EC2 上为本地 PostgreSQL 数据库设置 HADR 的架构。
图表显示了以下工作流程:
-
在 EC2 实例上复制数据库并复制归档文件。
-
将新副本提升为数据库写入器端点。
-
将应用程序指向新的目标数据库。
限制
我们建议您在开始迁移之前,考虑以下有关使用物理复制的限制:
-
服务器需要大量磁盘空间来进行备份,然后将备份复制在 Amazon EC2 上。
-
同步源数据库和目标数据库以及加快归档日志的复制速度需要大量带宽。
-
源数据库和目标数据库必须使用相同版本的 PostgreSQL。