原生 PostgreSQL 客户端应用程序 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

原生 PostgreSQL 客户端应用程序

你可以使用原生 PostgreSQL 客户端应用程序进行离线迁移,包括 pg_dump、pg_dumpall 和 pg_restore。pg_dump 实用程序用于备份 PostgreSQL 数据库。您可以使用 pg_dump 进行一致的备份并备份单个数据库。要备份集群中所有数据库通用的全局对象(例如角色和表空间),请使用 pg_dumpall。我们建议您以超级用户身份运行 pg_dump 实用程序,因为只有超级用户才能执行完整的转储。pg_dump 实用程序还提供了优化备份过程的选项,包括使用 jobs 选项(用于并行运行转储)和备份时的目录格式。有关更多信息,请参阅 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选项来提高性能。

你可以从目标实例运行 pg_dump 和 pg_restore。 EC2 我们建议您使用 AWS Direct Connect 以获得更好的速度和性能。最后,请确保有足够的存储空间来存放备份文件。

架构

下图显示了使用本地 PostgreSQL 客户端应用程序将本地 PostgreSQL 数据库迁移到 AWS 云的架构。

原生 PostgreSQL 客户端应用程序架构

图表显示了以下工作流:

  1. 使用 pg_dump 进行备份。

  2. 创建一个 EC2 实例并在该实例上安装 PostgreSQL。

  3. 将转储文件复制到 Amazon EC2。

  4. 使用 pg_restore 恢复备份文件。

限制

我们建议您在开始迁移之前考虑使用本机 PostgreSQL 客户端应用程序的以下限制:

  • 对于较大的数据库(即大于 300 GB 的数据库),转储和恢复可能很耗时。

  • 此选项要求数据库完全停机。

  • 服务器上需要大量的磁盘空间来进行备份,然后将备份复制到 Amazon EC2。