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

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