Azure Database for PostgreSQL 中迁移服务的已知问题和限制

适用于: Azure Database for PostgreSQL 灵活服务器

本文介绍了与 Azure Database for PostgreSQL 中的迁移服务相关的已知问题和限制。

常见限制

下面是适用于迁移场景的常见限制:

  • 只能对灵活服务器执行一次活动迁移或验证。
  • 当源是 Azure Database for PostgreSQL 单一服务器时,迁移服务仅支持用户和角色迁移。
  • 迁移服务显示从源复制到目标的表数。 你必须在迁移后手动检查目标服务器上的数据和 PostgreSQL 对象。
  • 迁移服务仅迁移用户数据库,不迁移系统数据库,例如 template_0 和 template_1。
  • 迁移服务不支持将 POSTGIS_TOPOLOGY、POSTGIS_TIGER_GEOCODER、POSTGRES_FDW 和 PG_PARTMAN 扩展从源移动到目标。

注意

使用 TIMESCALEDB 扩展的数据库迁移处于预览状态,默认情况下禁用。 如果要迁移时序数据库,则可以为此目的提出支持票证。

  • 无法移动 Azure Database for PostgreSQL - 灵活服务器不支持的扩展。 支持的扩展列在扩展 - Azure Database for PostgreSQL 中。
  • 用户定义的排序规则无法迁移到 Azure Database for PostgreSQL - 灵活服务器。
  • 无法迁移到较旧版本。 例如,无法从 Azure Database for PostgreSQL 版本 15 迁移到版本 14。
  • 迁移服务仅适用于首选或必需的 SSLMODE 值。
  • 迁移服务不支持超级用户特权和对象。
  • 由于超级用户特权限制,Azure Database for PostgreSQL - 灵活服务器不支持创建自定义表空间。 迁移期间,源 PostgreSQL 实例中的自定义表空间中的数据将迁移到目标 Azure Database for PostgreSQL - 灵活服务器实例的默认表空间。
  • 目前,不支持从 Amazon Aurora PostgreSQL 13 到 Azure Database for PostgreSQL 灵活服务器的在线迁移,并且将会失败。
  • 无法将以下 PostgreSQL 对象迁移到 PostgreSQL 灵活服务器目标:
    • 创建强制转换
    • 创建 FTS 分析器和 FTS 模板
    • 具有超级用户角色的用户
    • Create TYPE
  • 迁移服务不支持在对象级别(即表级别或架构级别)进行迁移。
  • 不支持迁移到可突发 SKU。 可以先将数据库迁移到常规用途 SKU 或内存优化 SKU,然后根据需要进行缩减。
  • 迁移运行时服务器旨在使用默认 DNS 服务器/专用 DNS 区域运行,例如privatelink.postgres.database.chinacloudapi.cn。 使用迁移运行时服务器功能时,迁移服务不支持自定义 DNS 名称/DNS 服务器。 为源数据库和目标数据库配置专用终结点时,必须使用 Azure 为专用链接服务提供的默认专用 DNS 区域。 尚不支持使用自定义 DNS 配置,此操作可能会导致迁移过程中出现连接问题。

从 Azure Database for PostgreSQL - 单一服务器迁移的限制

  • 源服务器上存在的 Microsoft Entra ID 用户不会迁移到目标服务器。 要解决此限制,请先参阅管理 Microsoft Entra 角色,在目标服务器上手动创建所有 Microsoft Entra 用户,然后再触发迁移。 如果未在目标服务器上创建 Microsoft Entra 用户,迁移会失败。
  • 如果目标灵活服务器使用 SCRAM-SHA-256 密码加密方法,使用单一服务器上的用户/角色连接灵活服务器会失败,因为密码使用 md5 算法加密。 要缓解此限制,请在灵活服务器上为password_encryption服务器参数选择选项MD5
  • 联机迁移使用pgcopydb follow,并应用一些逻辑解码限制