你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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.enable为true)。 - 扩展中配置的 PostgreSQL 连接。
Note
如果在没有活动连接的情况下提出 @pgsql 问题,它仍然可以回答常规 PostgreSQL 问题,但它将无法引用实际架构、表或列。
启动架构感知型对话
- 连接到 PostgreSQL 扩展中的目标数据库。
- 打开 GitHub Copilot 对话助手。
- 键入
@pgsql,然后输入您的问题。 - 查看答案,并确定在 代理模式下是否需要后续问题、查询草稿或更深入的工作流。
将数据库上下文引入代理模式
如果已知道要使用的数据库,请从 “连接” 树中的数据库节点开始,然后选择 “连接 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 在一个工作流中合并连接、架构检查、查询、脚本或数据操作,请使用 代理模式 。