Visual Studio Code 的 PostgreSQL 擴充功能簡化了 PostgreSQL 資料庫的管理與開發。 你可以連接 PostgreSQL 資料庫,撰寫並執行查詢,並管理資料庫物件,而不必離開 Visual Studio Code。
該擴充套件可整合 Azure 管理的 PostgreSQL 服務,包括:
- Azure HorizonDB - 一項為一級企業工作負載打造的雲端原生 PostgreSQL 服務。 HorizonDB 具備儲存與計算分離架構、低延遲提交、快速容錯移轉、透過可讀取的高可用性複本進行負載平衡的讀取水平擴充,以及深度 AI 整合。
同一個擴充功能可用於這兩項服務。 若行為有所不同(例如連線端點或支援的認證方法),會在後續章節中說明。
如何安裝擴充功能
你可以直接從 Visual Studio Code 的擴充市場安裝 PostgreSQL 擴充功能。 請遵循下列步驟:
- 在 Visual Studio Code 中開啟擴充功能檢視,方法是在活動列中選擇
Extensions 圖示,或使用 View: Extensions 指令。 - 在延伸模組 Marketplace 中搜尋 PostgreSQL 。
- 選取Microsoft所撰寫的 PostgreSQL 擴充功能,然後選取 [ 安裝]。
安裝擴充功能後,Visual Studio Code 側邊欄會出現一個大象圖示,代表 PostgreSQL 頁面。
Features
Visual Studio Code 的 PostgreSQL 擴充功能為 Azure HorizonDB 提供以下功能。
連線管理員
連接管理器可簡化連線到本機和雲端裝載的 PostgreSQL 資料庫。 重要功能包括:
- 支援多種連線配置,讓你能同時連接並管理多個 PostgreSQL 實例,包括混合的 Azure HorizonDB 叢集。
- 連線字串解析,無論你是連接本地資料庫還是 Azure HorizonDB 叢集,都能實現無縫連接。
- 與 Azure HorizonDB 整合,可直接瀏覽並依訂閱、資源群組、伺服器/叢集及資料庫篩選實例。
Azure HorizonDB 連線端點
Azure HorizonDB 會暴露兩個端點,你可以在擴充功能中分別新增為獨立的連線設定檔:
- 讀寫端點 - 連接主端點,主端接受讀寫交易。 使用此端點進行應用程式寫入、架構變更,以及任何需要最新提交資料的讀取工作負載。 端點會列在叢集Overview頁面,以及Azure入口網站的Replicas頁面上。
- 讀取端點 - 自動將唯讀連線負載平衡至叢集中所有可讀取的 HA 複本。 使用此端點用於讀取向外擴充工作負載、報表和分析。 目前最多支援四個可讀的 HA 複本(增加至 8 個),每個副本大小與主記憶體相同。
典型的做法是在 連線管理員 中儲存兩個設定檔——一個指向讀寫端點,一個指向讀取端點——然後根據手頭的任務在 物件總管 中切換。
物件總管
強化版的物件探索器提供資料庫物件的階層式視圖,讓瀏覽和管理結構、資料表、檢視與函式變得更為方便。 值得注意的功能包括:
- 進階篩選選項,快速定位特定物件。
- 建立、修改和刪除資料庫物件的功能,例如數據表、檢視表和預存程式。
- 以視覺效果呈現資料庫架構和關聯性,讓瀏覽簡化。
- 對於 Azure HorizonDB,你可以直接從 查詢編輯器 透過
pg_available_extensions目錄檢視表,查看叢集上可用的超過 55 個允許清單中的擴充功能。
查詢編輯器
查詢編輯器會透過以下面向改善查詢撰寫和執行的體驗:
- 具有內容感知功能的 IntelliSense,可自動完成 SQL 關鍵字、資料表名稱和函式。
- 語法醒目提示和自動格式化,以提升查詢可讀性。
- 查詢歷史追蹤,讓你能重用先前執行的查詢。
結果檢視器
結果檢視器讓你能透過以下功能與查詢結果互動:
- 將結果匯出至 CSV、JSON 或 Excel 格式。
- 搜尋、篩選和排序選項,以有效率地分析數據。
- 持續性資料檢視會在索引標籤之間瀏覽時保留內容。
結構視覺化
Schema Visualizer 提供你一個互動式、基於圖表的資料庫結構視圖,無需撰寫任何 SQL。 在物件總管中右鍵點擊資料庫(或其下方的任何物件),選擇 Visualize Schema啟動視覺化工具。
主要能力包括:
- 完整表格視圖 - 每張表格都會以卡片形式呈現,顯示其欄位與資料型態。
- 關係線 ——表格間的外鍵關係會以連接線形式繪製,讓你一眼就能看到資料模型如何拼接在一起。
-
基於結構的組織 - 資料表依其父結構分組(例如
public、 、hrecom),方便在大型資料庫中導航。 - 依結構顯示/隱藏 - 切換整個結構,只聚焦你關心的模型部分,並保持圖表在大型資料庫中可讀。
- 平移與縮放 - 使用標準平移、縮放及貼合螢幕控制,導航大型圖表。
Schema Visualization 適用於任何連接的資料庫,包括本地 PostgreSQL 和 Azure HorizonDB 叢集。
Apache AGE 圖形視覺化
Apache AGE 圖視覺化工具讓你能執行 Apache AGE 密碼查詢,並以互動式節點邊圖的形式探索結果。 該擴充功能自動偵測圖形查詢結果,並在視覺化瀏覽器中呈現,具備每節點提示、縮放與平移控制、匯出支援及配合主題的樣式。
age 擴充功能在 Azure HorizonDB 預設為允許清單,因此圖形工作負載可在 HorizonDB 叢集上執行,無需額外設定。 當你在 HorizonDB 上撰寫 Cypher 查詢時,同樣的要求也適用:
回傳完整物件,而非純量屬性 ——圖視覺化器需要完整的頂點與邊物件。 擷取純量屬性()
RETURN p.name, p.title的查詢會回傳純文字值,無法在視覺化器中呈現。 取而代之的是回傳完整物件並將關聯變數命名為:SELECT * FROM cypher('my_graph', $$ MATCH (a:Product)-[r:BOUGHT_TOGETHER]->(b:Product) RETURN a, r, b $$) AS (a agtype, r agtype, b agtype);設定
disp_label為有意義的節點文字 ——沒有disp_label,節點會顯示內部 ID。 設定此屬性,使視覺化工具顯示有用的標籤:SELECT * FROM cypher('my_graph', $$ MATCH (a:Product)-[r:BOUGHT_TOGETHER]->(b:Product) SET a.disp_label = a.title SET b.disp_label = b.title RETURN a, r, b $$) AS (a agtype, r agtype, b agtype);將輸出欄位與回傳物件匹配 ——包裝
AS (...)子句必須每個回傳物件有一欄。 對於多跳查詢,請納入每個中間節點和邊:SELECT * FROM cypher('my_graph', $$ MATCH (a:Product)-[r1:BOUGHT_TOGETHER]->(mid:Product)-[r2:BOUGHT_TOGETHER]->(b:Product) RETURN a, r1, mid, r2, b $$) AS (a agtype, r1 agtype, mid agtype, r2 agtype, b agtype);
AI integration (Azure HorizonDB)
連接 Azure HorizonDB 叢集時,該擴充套件提供 HorizonDB AI 功能的第一級創作面,這些功能以標準 PostgreSQL 擴充功能形式公開:
pgvector- 向量資料型態與相似度運算子。
pg_diskann- 高效能向量索引搭配 進階過濾,能在向量圖遍歷過程中評估
WHERE謂詞,使過濾後的相似性查詢能更快且更一致地返回。
- 高效能向量索引搭配 進階過濾,能在向量圖遍歷過程中評估
azure_ai- AI 功能,例如
azure_ai.generate()、azure_ai.is_true()、azure_ai.extract()和azure_openai.create_embeddings()。
- AI 功能,例如
-
AI 模型管理(有限預覽)
- 當叢集啟用時,HorizonDB 會自動透過 Microsoft Foundry 配置預設聊天模型(
gpt-5)及預設嵌入模型(text-embedding-3-small),安裝並設定azure_ai,並將 AI 功能接線至這些管理模型——無需手動操作金鑰。 你也可以註冊自己的 Microsoft Foundry 部署(Bring Your Own Model),並從相同的 AI Functions 中透過別名呼叫這些部署。
- 當叢集啟用時,HorizonDB 會自動透過 Microsoft Foundry 配置預設聊天模型(
你可以直接從 查詢編輯器 撰寫並執行這些 AI 工作負載,結果檢視器會將向量和 JSONB 輸出以內嵌方式呈現。
管線與工作流程
當連接至 Azure HorizonDB 叢集並具備 AI 管線或pg_durable工作流程時,該擴充功能提供管線與工作流程檢視,用來檢查執行歷史並監控執行狀態。
請透過右鍵點擊資料庫並選擇 「管線與工作流程」來存取。 你會看到兩個分頁:
- AI 管線:查看管線定義、檢查執行,並追蹤以顏色編碼步驟類型的執行圖(藍色代表來源/匯,綠色代表處理,粉紅色代表外部呼叫)。 用它來驗證管線行為,檢查運行狀態、運行 ID、開始時間和持續時間。
-
工作流程:
pg_durable檢查工作流程實例,並設有圖表、時序分析及結果的分頁。 從工作流程執行導覽到相關的管線定義,以便比較與排除故障。
此視圖省去在 SQL 查詢與編輯器間切換的需求,方便監控長期運行的 AI 工作負載與 pg_durable 協調。
GitHub Copilot 整合
此延伸模組與 GitHub Copilot 整合,以提供專為 PostgreSQL 開發量身打造的 AI 導向協助。 透過像 @pgsql 這類指令,你可以查詢資料庫、優化結構,並請求Copilot對 Azure HorizonDB 叢集執行特定 SQL 操作。 Copilot 會取得即時連線內容,包括目標上安裝的延伸模組,因此在 HorizonDB 連線上的建議會了解pgvector、pg_diskann、 azure_ai 和age。
支援的作業系統
PostgreSQL 擴充功能適用於以下作業系統:
- Windows 作業系統
- macOS
- Linux
此擴充套件支援多種 Linux 發行版,包括 Ubuntu、Fedora 及 Red Hat Enterprise Linux。
意見反應與支援
針對 Bug、功能要求和問題,請使用 Visual Studio Code 中的內建意見反應工具。 您可以透過 Visual Studio Code 說明選單或 PGSQL 指令面板完成此回饋。
-
說明功能表
- 移至 [說明] > [報告問題]
-
命令選擇區
- 使用
Ctrl + Shift + P開啟命令選擇區並執行:PGSQL: Report Issue
- 使用