你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

@pgsql 聊天参与者

PostgreSQL 扩展在 GitHub Copilot 对话助手中注册@pgsql聊天参与者。 如果您希望获得针对已在扩展中使用的数据库的架构感知帮助,例如对象发现、查询编写、查询解释或下一步建议,请使用它。

该参与者在已经建立活动连接时效果最好,因为它可以使用该数据库的实时架构上下文。

Important

@pgsql聊天参与者仅在 Visual Studio Code 中可用。 它接入了 GitHub Copilot 对话助手,而 Cursor 或其他分支版本并不支持它。 在 Cursor 中,从连接树中的数据库节点使用 Connect AI 启动具有相同架构上下文的代理模式,或通过 MCP 服务器直接从 Cursor 的本机聊天调用扩展的 PostgreSQL 工具。

先决条件

在开始之前,请确保已做好以下准备:

  • GitHub Copilot 或 GitHub Copilot Chat 已安装并在 Visual Studio Code 中处于活动状态。
  • 已安装 PostgreSQL 扩展。
  • 在扩展中启用 Copilot/AI 功能(pgsql.copilot.enabletrue)。
  • 扩展中配置的 PostgreSQL 连接。

Note

如果在没有活动连接的情况下提出 @pgsql 问题,它仍然可以回答常规 PostgreSQL 问题,但它将无法引用实际架构、表或列。

启动架构感知型对话

  1. 连接到 PostgreSQL 扩展中的目标数据库。
  2. 打开 GitHub Copilot 对话助手。
  3. 键入 @pgsql,然后输入您的问题。
  4. 查看答案,并确定在 代理模式下是否需要后续问题、查询草稿或更深入的工作流。

将数据库上下文引入代理模式

如果已知道要使用的数据库,请从 “连接” 树中的数据库节点开始,然后选择 “连接 AI ”以打开代理模式,其中数据库上下文已在范围内。 此路径适用于 Visual Studio Code 和 Cursor。

当希望 AI 助手连接、检查架构并处理任务时,请使用该路径,例如:

  • “此数据库中有哪些表?
  • “哪些表与客户和订单相关?”
  • 编写一个查询,显示订单数量最多的前 10 个客户。

提出适合与 @pgsql 配合使用的问题

@pgsql 聊天参与者尤其适用于以下任务类型:

目标 示例提示
浏览架构 @pgsql What tables are in the public schema?
了解关系 @pgsql Which tables connect orders to customers?
SQL 草稿 @pgsql Write a query that shows monthly revenue by region.
说明现有 SQL @pgsql Explain what this query is doing and where it might be slow.
规划后续步骤 @pgsql I need to add a customer status field. What should I review before I change the schema?

如果你想获得最清晰的结果,请一次只要求做一个决定。 如果需要连接、检查架构、运行查询并在一个会话中返回结果的多步骤工作流,请移动到 代理模式

查看和使用响应

使用 @pgsql 响应作为工作指南,而不是未查看的最终输出。

  • 运行 SQL 之前,请先检查生成的 SQL。
  • 如果要手动测试或优化查询,请使用查询编辑器。
  • 使用 连接 树或架构可视化工具确认参与者提及的对象。
  • 当希望 AI 助手执行操作而不是仅应答时,请使用代理模式。

Tip

在要求重写大型查询之前,请先提出有关架构探查的问题。 参与者越了解数据库上下文,下一个答案就越好。

排查答案问题@pgsql

答案太泛型

请确保已连接到正确的数据库,并询问特定于架构的问题,而不是广泛的 PostgreSQL 问题。

参与者找不到正确的对象

首先确认 Connections 树中的对象名称,然后在提示中直接包含架构或表名。

我处于游标中,看不到 @pgsql

聊天参与者仅在Visual Studio Code中注册。 在 Cursor 中,使用连接树中的 Connect AI 启动代理模式,或依赖 MCP 服务器向 Cursor 的本机聊天公开相同的工具。

我希望 AI 做的不仅仅是回答问题

如果希望 AI 在一个工作流中合并连接、架构检查、查询、脚本或数据操作,请使用 代理模式