本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
原生 PostgreSQL 客户端应用程序
你可以使用原生 PostgreSQL 客户端应用程序进行离线迁移,包括 pg_dump
pg_restore 实用程序用于从 pg_dump 创建的档案中恢复 PostgreSQL 数据库。如果您以自定义或目录格式使用 pg_dump,则可以在parallel 模式下运行 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 客户端应用程序的限制:
对于较大的数据库(即大于 300 GB 的数据库),转储和恢复可能很耗时。
此选项需要完全停机数据库。
服务器上需要大量的磁盘空间来进行备份,然后将备份复制到 Amazon EC2。