本页面介绍了同构 PostgreSQL 迁移到 Cloud SQL for PostgreSQL 和 AlloyDB for PostgreSQL 的快速迁移:
- 指南和支持的场景包含指向所有快速迁移流程的分步 说明的链接。
- 概览简要介绍了什么是快速迁移,以及如何使用快速迁移来提升迁移体验。
- 网络连接介绍了 Database Migration Service 在快速迁移中采用的独特架构。
- 限制介绍了在执行快速迁移时需要注意的已知限制和注意事项。
指南和支持的场景
同构 PostgreSQL 的快速迁移有助于持续同构迁移到新的或现有的 Cloud SQL for PostgreSQL 或 AlloyDB for PostgreSQL 目标。此迁移流程最适合从 具有虚拟私有云 (VPC) 网络中的专用 IP 地址的 Google Cloud 来源进行迁移,例如 Compute Engine 上的自行管理的数据库,或 启用了专用网络的 Cloud SQL for PostgreSQL 实例。托管在外部的来源可能需要额外的网络组件(例如 Cloud VPN 连接),以便可以在 VPC 网络中的专用 IP 地址访问这些来源。 Google Cloud
您可以在 控制台 Google Cloud 中的多个位置开始快速迁移:
- Cloud SQL for PostgreSQL 和 AlloyDB for PostgreSQL 的 Google Cloud 控制台, 您可以在其中直接从实例 或集群开始快速迁移。如需了解详情,请参阅:
- Database Migration Service,您可以在其中创建新的目标集群或实例,同时配置快速迁移。如需了解详情,请参阅:
概览
快速迁移是同构 PostgreSQL 场景的轻量级持续迁移流程。借助快速迁移,Database Migration Service 可以自动设置迁移在 VPC 网络中分配了专用 IP 的来源(例如 Compute Engine 上的自行管理的数据库或 Cloud SQL for PostgreSQL 实例)所需的一切。
从总体上讲,Database Migration Service 通过快速迁移简化了以下任务:
- Database Migration Service 会创建 Private Service Connect 接口所需的专用连接配置、网络连接及其子网 。
- Database Migration Service 会创建目标实例并配置必要的专用连接。您还可以决定使用现有目标实例,仅将特定的 PostgreSQL 数据库移到该实例中。
设置快速迁移后,您可以使用 Database Migration Service 的可观测性功能监控数据移动进度 。
网络连接
从总体上讲,快速迁移使用的网络架构与标准同构迁移不同。Database Migration Service 以及目标 Cloud SQL for PostgreSQL 或 AlloyDB for PostgreSQL 实例是 服务生产者,它们位于自己的专用网络 (称为 服务网络)中,而不是位于您在项目中所用的 VPC 网络之外。 Google Cloud
Database Migration Service 完全有助于快速迁移的来源和目标连接。
对于来源数据库连接,快速迁移使用 Private Service Connect 接口。此连接方法 要求您的来源实例在 Google Cloud VPC 网络中具有专用 IP 地址。Compute Engine 上的自行管理的数据库或 Cloud SQL for PostgreSQL 实例通常可以满足此要求。托管在外部的来源可能需要额外的网络组件(例如 Cloud VPN 连接),以便可以在 VPC 网络中的专用 IP 地址访问这些来源。 Google Cloud
对于目标数据库连接,Database Migration Service 会完全管理与 Cloud SQL for PostgreSQL 实例 或 AlloyDB for PostgreSQL 集群的网络通信。唯一的要求是您的目标已启用 Private Service Connect,但无需进行进一步配置。
与 Compute Engine 上自行管理的数据库的来源连接
从 Compute Engine 上自行管理的数据库进行迁移时,Database Migration Service 会在您拥有虚拟机的同一 VPC 网络中创建网络连接。
与 Cloud SQL for PostgreSQL 的来源连接
从 Cloud SQL for PostgreSQL 实例进行迁移时,Database Migration Service 会在您的实例分配有专用 IP 的 VPC 网络中创建网络连接。此 IP 可能是专用服务访问通道 (PSA) 或 Private Service Connect 配置的结果。如需了解详情, 请参阅 Cloud SQL 文档中的专用 IP 配置。
与外部数据库的来源连接 Google Cloud
从外部托管的数据库进行迁移时 Google Cloud,您需要 额外的网络组件,以确保您的数据库在 Google Cloud VPC 网络(例如 VPC 网络)中分配有专用 IP 地址。 Database Migration Service 会在您的实例分配有专用 IP 的 VPC 网络中创建网络连接。
限制
快速迁移存在以下限制。如果您的迁移场景需要使用任何不受支持的功能,我们建议您改为遵循标准迁移流程。如需了解详情,请参阅 迁移到 Cloud SQL for PostgreSQL 或 迁移到 AlloyDB for PostgreSQL 文档页面。
快速迁移不支持从 PostgreSQL 版本
9.6或更低版本进行迁移。不支持空数据库(即仅具有系统架构的数据库)。
不支持目标实例或集群的 Identity and Access Management (IAM) 身份验证。当您对新目标使用快速迁移时,Database Migration Service 会以默认
postgresql用户身份进行连接。 如果您迁移到现有目标,Database Migration Service 会创建 一个专用cloudsqlsuperuser或alloydbsuperuser账号,并使用该账号连接到 目标。如需详细了解 IAM,请参阅 IAM 身份验证在 Cloud SQL 文档中 或 管理 IAM 身份验证在 AlloyDB for PostgreSQL 文档中。唯一受支持的来源数据库连接方法是 Private Service Connect 接口。您的来源数据库需要在 VPC 网络中分配有专用 IP。快速迁移不支持其他同构来源连接方法(例如公共 IP 许可名单、反向 SSH 隧道或 VPC 网络对等互连)。
仅支持启用 Private Service Connect 的目标。 PSA Cloud SQL for PostgreSQL 或 AlloyDB for PostgreSQL 实例不支持作为迁移目标。
对于来源连接的 SSL 加密选项,快速迁移仅支持
none和required变体。快速迁移不支持同构 MySQL 或 SQL Server 迁移。
不支持高级功能,例如自定义数据转储并行设置。
仅支持持续迁移。
快速迁移每个迁移作业最多可容纳 50 个数据库。 您不必迁移来源数据库服务器中的所有数据库。 Database Migration Service 可让您选择要迁移的数据库。
为了实现一致的复制,Database Migration Service 要求所有来源表都具有主键。如果您的表没有主键,则在变更数据捕获 (CDC) 阶段仅复制
INSERT操作。 如果您还想复制没有主键的表的UPDATE和DELETE操作,则需要使用REPLICA选项修改这些表。快速迁移 指南中介绍了具体步骤。适用标准迁移保真度限制。如需了解详情,请参阅 AlloyDB for PostgreSQL 迁移中的迁移保真度、 Cloud SQL for PostgreSQL 迁移中的迁移保真度。