代理模式

代理模式讓編輯器中的 AI 助理能在多步驟對話中使用擴充套件中的 PostgreSQL 工具。 助理不僅能回答問題,還能連接資料庫、檢視架構、執行查詢、開啟腳本,並協助你從頭到尾完成工作流程。

代理模式同時可在 Visual Studio Code(搭配 GitHub Copilot)和游標(內建 AI)中執行。 擴充功能在兩個編輯器中都暴露相同的 PostgreSQL 工具表面;只有開啟的聊天面板不同。

當你希望 AI 執行結構化行動,而不只是解釋或撰寫 SQL 時,請使用 Agent 模式。

先決條件

開始之前,請確定您擁有:

  • 安裝了 PostgreSQL 擴充功能。
  • 擴充功能中已啟用 Copilot/AI 功能(pgsql.copilot.enabletrue)。
  • 擴充功能中至少設定了一個資料庫連線。
  • 編輯器中可用的 AI 助理:
    • Visual Studio Code:GitHub Copilot 或 GitHub Copilot 聊天已安裝並啟用。
    • 游標:無額外安裝;內建的 AI 會自動運作。

啟動代理模式

  1. 連接到 PostgreSQL 擴充功能中的目標伺服器或資料庫。
  2. 連接 樹中,右鍵點擊你想使用的資料庫。
  3. 選擇 Connect AI
  4. 在針對你想完成的工作流程開啟的聊天面板中繼續對話。
    • Visual Studio Code 中,這是 GitHub Copilot Chat 面板的代理模式。
    • 游標中,這是游標的原生 AI 面板;擴充功能提供簡短的 MCP 導向前言,讓助理了解可用的 PostgreSQL 工具。

會議開始後,AI 會在幕後整合 PostgreSQL 工具,協助處理你的請求。

選擇合適的存取模式

pgsql.copilot.accessMode 設定可控制 Agent 模式可取得多少資料庫存取權限。 設定 ID 保留前pgsql.copilot.*綴以促進相容性;使用者可見的標籤為 Visual Studio Code 中的 Copilot 存取模式,游標中的 AI 存取模式

Mode AI 能做什麼 建議使用
ro 唯讀操作如 SELECTSHOWEXPLAIN、結構檢查和分析 需要在不進行變更的情況下進行查核的生產系統或共用環境
rw 讀取操作、資料修改語句與 DDL,執行前需明確確認 本地開發、一次性沙盒與受控測試環境

注意事項

除非你是有意要讓結構描述或資料變更可透過 Agent 模式取得,否則請對生產資料庫使用 ro 模式。

了解工具系列

代理模式可依工作流程使用多種工具系列。

工具家族 其功能是什麼 當你使用它時
連接工具 列出設定檔、連線、中斷連線、列出資料庫 開始或切換語境
結構描述內容工具 擷取物件定義或視覺化結構 了解表格、視圖、函式、索引與關係
查詢工具 執行已讀查詢、檢查查詢計畫、開啟腳本 調查資料、驗證想法,或審查產生的 SQL
修改工具 請執行 DDL 或 DML 並確認 rw模式中套用受控的結構描述或資料變更
資料匯入工具 描述 CSV 檔案並大量載入 規劃並執行 CSV 匯入工作流程

Tip

Cursor 中,相同的工具也可透過 MCP 伺服器註冊機制使用。 Cursor 的內建聊天可以直接呼叫它們,而無需使用 Connect AI 入口。 詳情請參閱 MCP 伺服器

使用代理模式處理常見工作流程

以下範例展示了如何使用代理模式來執行從探索新資料庫到細化查詢等任務。

探索一個陌生的資料庫

請 AI 連接資料庫,列出關鍵物件,並總結對你任務重要的結構區域。

範例:

連接我的開發資料庫,在公開架構中列出資料表,告訴我哪些看起來與客戶和訂單相關。

調查查詢效能

請 AI 結合結構上下文與查詢執行或計畫檢查。

範例:

連接暫存資料庫,以唯讀模式執行此查詢,並說明執行計畫中哪一部分是成本的驅動因素。

載入或重整資料形狀

當工作流程包含腳本或基於 CSV 的操作時,請使用 Agent 模式。

範例:

請檢查這個 CSV 檔案,告訴我它代表的是什麼架構,並為該表格準備一個安全的匯入計畫 sales.records

從草稿轉為手動審查

當你想要在執行前有人工審查檢查點時,請 AI 在查詢編輯器中開啟產生的 SQL,而不是直接執行。

知道什麼時候該用代理模式,而不是 @pgsql

當你想要了解結構描述的答案或查詢草稿時,可以使用 @pgsql 聊天參與者@pgsql參與者僅可在 Visual Studio Code 中使用。

當你想讓 AI 執行下列操作時,請使用 Agent 模式(Visual Studio Code 和 Cursor 皆提供此模式):

  • 連接到適合您的資料庫,
  • 在同一段對話中串接多個工具,
  • 在下一步前檢查結果,或
  • 準備腳本或受控修改工作流程。

Note

游標中,代理模式是主要路徑,因為 @pgsql 聊天參與者不在那裡。 相同的工具介面也可透過 MCP 伺服器,從 Cursor 的原生聊天介面存取。

故障排除代理模式

如果代理模式的行為不如預期,先檢查存取模式和工具可用性。

AI 無法修改資料庫

檢查 pgsql.copilot.accessMode,並確認作用中的連線未解析為 ro

你期待的工具無法取得

確保啟用 Copilot 整合,並且你從一個有有效 PostgreSQL 連線上下文的資料庫開始。

連線請求失敗

確認連線設定檔仍然存在、憑證可用,且擴充功能能在非代理模式下連接到同一個資料庫。

我想要一個更簡單的聊天優先工作流程

Visual Studio Code中,當您想要取得說明、撰寫查詢草稿,或詢問結構描述相關問題,且無需仰賴工具驅動的自動化時,請使用@pgsql 聊天參與者。 在 游標裡,也可以問原生聊天裡類似的問題。 擴充套件的 MCP 工具仍可供探索,但在沒有明確的 Agent 模式入口時,聊天的互動方式會更具對話性。