本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
原生 PostgreSQL 客户端应用程序
您可以使用原生 PostgreSQL 客户端应用程序进行离线迁移,包括 pg_dump
pg_restore 实用程序用于从 pg_dump 创建的归档中恢复 PostgreSQL 数据库。如果您使用自定义或目录格式的 pg_dump,可以在并行模式下运行 pg_restore 实用程序。要提高 pg_restore 的性能,您可以调整以下参数:
设置
shared_buffers为符合您的要求,并增加maintenance_work_mem以加快索引创建速度。关闭大量日志记录、autovacuum 进程守护程序和
full_page_writes。(可选)备份和恢复架构,并使用仅限数据的转储和恢复。如果您使用此方法,可以使用
disable-triggers选项来提高性能。
您可以从目标 EC2 实例运行 pg_dump 和 pg_restore。我们建议您使用 AWS Direct Connect 以获得更好的速度和性能。最后,请确保您有足够的存储空间来存储备份文件。
架构
下图显示了使用原生 PostgreSQL 客户端应用程序将本地 PostgreSQL 数据库迁移到 AWS 云的架构。

图表显示了以下工作流程:
使用 pg_dump 进行备份。
创建一个 EC2 实例并在该实例上安装 PostgreSQL。
将转储文件复制到 Amazon EC2。
使用 pg_restore 恢复备份文件。
限制
我们建议您在开始迁移之前,考虑以下有关使用原生 PostgreSQL 客户端应用程序的限制:
对于较大的数据库(即大于 300GB 的数据库),转储和恢复可能很耗时。
此选项要求数据库完全停机。
服务器需要大量磁盘空间来进行备份,然后将备份复制到 Amazon EC2。