PostgreSQL Microsoft Graph 连接器 (预览版)

PostgreSQL Microsoft Graph 连接器允许组织为 PostgreSQL 数据库中的记录编制索引。 配置连接器后,最终用户可以从 Microsoft Copilot 中的 PostgreSQL 和任何Microsoft搜索客户端搜索这些记录。

本文适用于 Microsoft 365 管理员或配置、运行和监视 PostgreSQL Graph 连接器的任何人。

注意

PostgreSQL 连接器处于预览状态。 如果想要获得访问权限以试用,则需要为管理员帐户启用定向发布通道。

功能

  • 使用 SQL 查询为 PostgreSQL 数据库中的记录编制索引。
  • 使用 SQL 查询中添加的用户或组列表为每个记录指定访问权限。
  • 使最终用户能够提出与 Copilot 中的索引记录相关的问题。
  • Copilot 中使用语义搜索 ,使用户能够根据关键字、个人偏好和社交关系查找相关内容。

限制

  • 支持的 PostgreSQL 版本:连接器支持 PostgreSQL 版本 14 或更高版本。
  • 为了支持高爬网速度和更好的性能,连接器构建为仅支持 OLTP (联机事务处理) 工作负荷。 OLAP (联机分析处理) 工作负荷,这些工作负荷在 40 秒超时后未执行提供的 SQL 查询,并且不受支持。
  • 仅使用用户主体名称 (UPN) 、Microsoft Entra ID或 Active Directory 安全性来支持 ACL。
  • 不支持为数据库列内的丰富内容编制索引。 此类内容的示例包括 HTML、JSON、XML、Blob 和作为数据库列内的链接存在的文档分析。

先决条件

  • 你必须是组织的 Microsoft 365 租户的 搜索管理员
  • 安装 Microsoft Graph 连接器代理:若要访问 PostgreSQL 服务器,必须安装和配置连接器代理。 有关详细信息 ,请参阅安装 Microsoft Graph 连接器代理
  • PostgreSQL 服务器地址:若要连接到 PostgreSQL 数据,需要组织的 PostgreSQL 服务器地址。
  • 服务帐户:若要连接到 PostgreSQL 服务器并允许 Microsoft Graph 连接器定期更新记录,需要一个向服务帐户授予读取权限的服务帐户。

安装程序入门

1. 显示名称

显示名称用于标识 Copilot 中的每个引文,帮助用户轻松识别关联的文件或项目。 显示名称还表示受信任的内容。 显示名称也用作 内容源筛选器。 此字段存在默认值,但你可以将其自定义为组织中的用户可识别的名称。

2. PostgreSQL 服务器

若要连接到 PostgreSQL 数据,需要 PostgreSQL 服务器地址、端口和数据库名称。

3.身份验证类型

PostgreSQL 连接器仅支持基于密码的身份验证来连接到数据库。

4. 面向有限受众推出

如果要在 Copilot 和其他搜索图面中验证此连接,然后再将此连接扩展到更广泛的受众,请将此连接部署到有限的用户群。 若要了解有关有限推出的详细信息, 请单击此处

内容

若要搜索数据库内容,必须在配置连接器时指定 SQL 查询。 这些 SQL 查询需要) 命名要 (源属性编制索引的所有数据库列。 这包括需要执行以获取所有列的任何 SQL 联接。 若要限制对搜索结果的访问,必须在配置连接器时在 SQL 查询中指定访问控制 Lists (ACL) 。

1. 完全爬网 (必需)

a. (“必需) ”和“ACL”列 (可选) 选择数据列

[单击展开]为完整爬网查询选择数据列。

在此步骤中,将配置运行数据库完全爬网的 SQL 查询。 完全爬网选择需要在Microsoft Copilot或搜索中显示的所有列或属性。 还可以指定 ACL 列,以将搜索结果的访问限制为特定用户或组。

提示

若要获取所需的所有列,可以联接多个表。

该示例演示了用于保存搜索数据的五个数据列的选择:OrderId、OrderTitle、OrderDesc、CreatedDateTime 和 IsDeleted。 若要设置每行数据的查看权限,可以选择选择以下 ACL 列:AllowedUsers、AllowedGroups、DeniedUsers 和 DeniedGroups。 所有这些数据列还具有 “查询”、“ 搜索”、“ 检索”“优化”选项。

选择数据列,如以下示例查询所示: SELECT OrderId, OrderTitle, OrderDesc, AllowedUsers, AllowedGroups, DeniedUsers, DeniedGroups, CreatedDateTime, IsDeleted

SQL 连接器不允许 SELECT 子句中具有非字母数字字符的列名。 使用别名从列名中删除任何非字母数字字符。 示例 - SELECT column_name AS columnName

若要管理对搜索结果的访问,可以在查询中指定一个或多个 ACL 列。 SQL 连接器允许你控制每个记录级别的访问。 可以选择对表中的所有记录使用相同的访问控制。 如果 ACL 信息存储在单独的表中,则可能必须与查询中的这些表进行联接。

下面介绍了上述查询中每个 ACL 列的用法。 以下列表介绍了四 种访问控制机制

  • AllowedUsers:此列指定可以访问搜索结果的用户 ID 列表。
  • AllowedGroups:此列指定可以访问搜索结果的用户组。
  • DeniedUsers:此列指定 无权 访问搜索结果的用户列表。
  • DeniedGroups:此列指定 无权 访问搜索结果的用户组。

b. 支持的数据类型

[单击展开]支持的数据类型列表。

表汇总了 PostgreSQL 连接器中支持的 SQL 数据类型。 该表还汇总了支持的 SQL 数据类型的索引数据类型。 若要详细了解Microsoft Graph 连接器支持的索引数据类型,请参阅 有关属性资源类型的文档。

类别 源数据类型 索引数据类型
数值 smallint
integer
bigint
smallserial
串行
bigserial
int64
数值 decimal
数值的
实数
双精度
double
字符 字符变化 (n)
varchar (n)
字符 (n)
char (n)
bpchar (n)
bpchar
text
string
货币 int64
Binary bytea string
日期或时间 时间戳 [ (p) ] 不带时区
时间戳 [ (p) ] 带时区
date
不含时区的 time [ (p) ]
带时区的 time [ (p) ]
datetime
日期或时间 interval [fields] [ (p) ] string
布尔值 boolean boolean
枚举 枚举 string

对于当前不直接支持的任何其他数据类型,需要将列显式强制转换为受支持的数据类型。


c. 需要水印 ()

[单击展开]在完全爬网查询中指定水印列

为了防止数据库过载,连接器使用完全爬网水印列对完全爬网查询进行批处理并恢复。 通过使用水印列的值,提取每个后续批,并从最后一个检查点恢复查询。 实质上,此机制控制完全爬网的数据刷新。

为水印创建查询代码段,如以下示例所示:

  • WHERE (CreatedDateTime > @watermark). 引用带有保留关键字 (keyword) @watermark的水印列名称。 如果水印列的排序顺序为升序,请使用 >;否则使用 <
  • ORDER BY CreatedDateTime ASC. 按水印列按升序或降序排序。

若要提取第一批行,请指定水印列的数据类型。

第一个查询使用“CreatedDateTime > January 1, 1753 00:00:00” (DateTime 数据类型的最小值) 提取前 N 行数。 提取第一批后,如果行按升序排序,则批中返回的最高值 CreatedDateTime 将保存为检查点。 例如,2019 年 3 月 1 日 03:00:00。 然后在查询中使用“CreatedDateTime > 2019 年 3 月 1 日 03:00:00”提取下一批 N 行。


2. 软删除说明 (可选)

若要将数据库中的软删除行从索引中排除,请指定软删除列名和值,该值指示该行已删除。

用户

1. 包含访问权限信息的映射列

选择“ 映射列 ”,选择各种访问控制 (ACL) 指定访问控制机制的列。 选择在完全爬网 SQL 查询中指定的列名称。

每个 ACL 列应为多值列。 分号 (;) 、逗号 (、) 等分隔符可以分隔这些多个 ID 值。 需要在值分隔符字段中指定此 分隔符

支持将以下 ID 类型用作 ACL:

  • 用户主体名称 (UPN) :UPN) (用户主体名称是采用电子邮件地址格式的系统用户的名称。 例如,UPN (: john.doe@domain.com) 由用户名 (登录名) 、@ 符号) 分隔符 (和域名 (UPN 后缀) 组成。
  • Microsoft Entra ID:在 Microsoft Entra ID,每个用户或组都有一个对象 ID,该 ID 类似于“e0d3ad3d-0000-1111-2222-3c5f5c52ab9b”。
  • Active Directory (AD) 安全 ID:在本地 AD 设置中,每个用户和组都有一个不可变的唯一安全标识符,该标识符类似于“S-1-5-21-3878594291-2115959936-132693609-65242”。

2.访问权限

可以选择使用上一步中指定的 ACL,也可以重写它们,使内容对每个人都可见。

同步

刷新间隔确定数据在数据源和 Graph 连接器索引之间同步的频率。

可以根据此处提供的计划选项配置完整爬网和增量爬网。 默认情况下,增量爬网 ((如果配置) 设置为每 15 分钟一次,并且每天设置完全爬网)。 如果需要,可以调整这些计划以满足数据刷新需求。

此时,已准备好为 PostgreSQL 创建连接。 可以单击“创建”按钮发布连接,并为数据库中的数据编制索引。

疑难解答

发布连接后,可以在管理中心的“数据源”选项卡下查看状态。 若要了解如何进行更新和删除,请参阅 管理连接器

如果遇到问题或想要提供反馈,请联系 Microsoft Graph |支持