Azure Database for PostgreSQL 灵活服务器Microsoft Fabric 镜像数据库的限制

本页列出了来自 Azure Database for PostgreSQL 灵活服务器的 Microsoft Fabric 镜像数据库 中的当前限制。 此页面的内容可能随时发生变化。

有关故障排除,请参阅:

服务器级别限制

  • PostgreSQL 版本 14、15、16 和 17 支持 Fabric 中的镜像。
  • 不支持可突发计算层中的服务器。
  • 无法在只读副本服务器上或只读副本所在的主服务器上配置 Fabric 中的镜像。
  • 已启用 HA 的服务器透明故障转移仅适用于 PostgreSQL 版本 17 及更高版本。 对于以前的版本,故障转移后需要手动重新建立镜像会话。
  • 要通过时间点还原(PITR)恢复启用了 Fabric 技术的镜像功能的服务器,需要在新服务器上重新配置此镜像功能。
  • 在执行主版本升级(MVU)之前,请在 Fabric 中禁用镜像,并在升级完成后重新启用。

数据库级别的限制

  • Azure Database for PostgreSQL 灵活服务器的构造镜像仅在可写的主数据库上受支持。
  • Azure Database for PostgreSQL 灵活服务器数据库一次只能镜像到单个 Fabric 项。
  • 在 Fabric 中可以镜像的表格数量最多为 500 个。 当前无法复制超出 500 限制的任何表。
    • 如果在配置镜像时选择“镜像所有数据”,将依次根据架构名称和表名称按字母顺序对所有表进行排序,要镜像的表为前 500 个表。 按字母顺序排序的列表底部的剩余表不会被镜像。
    • 如果取消选择“镜像所有数据”,并选择单独的表,则无法选择超过 500 个表。

源数据库中的权限

  • Azure Database for PostgreSQL 灵活服务器中定义的权限不会传播到 Fabric OneLake 中的复制数据。
  • 若要成功为 Azure Database for PostgreSQL 灵活服务器配置镜像,必须向用于连接到源服务器的数据库角色授予数据库中 Fabric 镜像所需的权限。 必须授予CREATEDBCREATEROLELOGINREPLICATIONazure_cdc_admin的权限给一个新的或现有的角色。 有关示例脚本,请参阅 教程:从 Azure Database for PostgreSQL 配置 Microsoft Fabric 镜像数据库
  • 所使用的数据库角色还需要是 owner 源数据库中的表。 这意味着表是由该用户创建的,或者这些表的所有权已使用 ALTER TABLE xxx OWNER TO <user>;更改。 将所有权切换到新用户时,可能需要先授予该用户对 public 架构的所有权限。 有关用户帐户管理的详细信息,请参阅 Azure Database for PostgreSQL 用户管理 文档、 适用于数据库角色和特权的 PostgreSQL 产品文档、 GRANT 语法特权

网络和连接安全性

  • 如果灵活服务器不可公开访问,并且不允许 Azure 服务 连接到它,则可以 创建虚拟网络数据网关 来镜像数据。 确保 Azure 虚拟网络或网关计算机的网络可以通过专用终结点连接到 Azure Database for PostgreSQL 灵活服务器,或者防火墙规则允许。
  • 需要启用 Azure Database for PostgreSQL 灵活服务器的 系统分配托管标识(SAMI), 并且必须是主标识。

表级别

  • 不支持对已存在的镜像表执行DDL操作(添加/删除列、更改数据类型等)。 修改现有表需要在 Microsoft Fabric 中停止并重启对镜像数据库的复制。
  • TRUNCATE TABLE 不支持镜像表上的命令
  • 视图、具体化视图、外表、Toast 表或分区表目前不支持镜像。
  • TimescaleDB 超表不支持 Fabric Mirroring。

列级别

  • /数值十进制列中超过 38 精度的数据不会在镜像数据库中复制,并显示为 NULL

  • 如果源表包含具有以下数据类型之一的列,则无法将这些列镜像到 Fabric OneLake。 镜像当前不支持以下数据类型:

    • bit
    • bit varying [ (n) ]varbit
    • box
    • cidr
    • circle
    • inet
    • interval [ fields ] [ (p) ]
    • json
    • jsonb
    • line
    • lseg
    • macaddr
    • macaddr8
    • path
    • pg_lsn
    • pg_snapshot
    • point
    • polygon
    • tsquery
    • tsvector
    • txid_snapshot
    • xml
  • 镜像支持复制名称中包含空格或特殊字符的列(如 ,;{}()\n\t=)。 对于启用此功能之前复制下的表,需要更新镜像数据库设置或重启镜像以包括这些列。 从 Delta 列映射支持中了解详细信息。

仓库限制

  • 源架构层次结构将复制到镜像数据库。 对于在启用此功能之前创建的镜像数据库,源架构被平面化,并且架构名称被编码到表名中。 如果要使用架构重新组织表,请重新创建镜像数据库。 从 复制源架构层次结构了解详细信息。

镜像项限制

  • 用户必须是工作区的管理员/成员角色的成员才能创建 PostgreSQL 数据库镜像。 
  • 停止镜像会完全禁用镜像。 
  • 启动镜像后,会重新设定所有表的种子值,实际上就是从头开始。 

SQL 分析终结点限制

支持的区域

数据库镜像和打开的镜像在所有Microsoft Fabric 区域中都可用。 有关详细信息,请参阅 Fabric 区域可用性

后续步骤