Visual Studio Code 的 PostgreSQL 擴充功能簡化了 PostgreSQL 資料庫的開發與管理。 本指南將引導你如何連接 PostgreSQL 資料庫並在 Visual Studio Code 中執行查詢。
無論您要連線到下列哪一項,皆適用相同的工作流程:
- 本地 PostgreSQL 安裝,
- 一個Azure HorizonDB叢集。
先決條件
開始之前,請確認您已下載並安裝適當的工具和資源。
- 安裝在您電腦上的 Visual Studio Code。
- 在本機安裝的 PostgreSQL 資料庫,或託管於建立 Azure HorizonDB 叢集。
- Visual Studio Code 中安裝的 PostgreSQL 擴充功能。
- GitHub Copilot 擴展碼。
- 已安裝 GitHub Copilot Chat 擴充功能。
安裝 PostgreSQL 擴充功能
若要安裝 PostgreSQL 擴充功能:
- 打開Visual Studio Code,並透過活動欄中的
Extensions 圖示,或使用 View: Extensions 指令進入擴充功能檢視。 - 在延伸模組 Marketplace 中搜尋 PostgreSQL 。
- 選取Microsoft所撰寫的 PostgreSQL 擴充功能,然後選取 [ 安裝]。
安裝後,PostgreSQL 擴充功能圖示會出現在 Visual Studio Code 側邊欄。
將連線新增至 PostgreSQL
無論是裝載在本機還是遠端伺服器上,連線到 PostgreSQL 資料庫,都是管理和與您的數據互動的基本步驟。 此過程包含提供必要的連線細節——例如伺服器地址、埠口及認證憑證——以建立客戶端應用程式與資料庫間的安全連結。
- 選取提要字段上的大象圖示,以開啟 PostgreSQL 擴充功能頁面。
- 選取 [ 新增連線] 按鈕。
- 手動輸入你的連線資料,或貼上一個 連接字串。
- 如果使用 Azure,請登入您的 Azure 帳戶並瀏覽資料庫實例。 依訂閱、資源群組、伺服器/叢集及資料庫名稱篩選。 你能存取的訂閱中會列出 Azure HorizonDB 叢集。
連接字串格式
Azure HorizonDB 叢集會提供 兩個 端點。 選擇與你工作量相符的課程:
- 讀寫端點 - 連接主端點,主端接受讀寫。 使用此端點進行應用程式寫入、架構變更與讀取,必須看到最新提交的資料。
- 讀取端點 - 自動在叢集中所有可讀的 HA 副本間負載平衡連線。 將此端點用於讀取擴展、報表和分析工作負載。 目前最多支援四個可讀的 HA 複本(增加至 8 個),每個副本大小與主記憶體相同。
兩個端點主機名稱都列在叢集
# Read/write endpoint (primary)
psql "host=<cluster-name>.<region>.horizondb.azure.com port=5432 dbname=<database> user=<user> sslmode=require"
# Reader endpoint (load-balanced HA replicas)
psql "host=<cluster-name>-reader.<region>.horizondb.azure.com port=5432 dbname=<database> user=<user> sslmode=require"
一個常見的模式是在 連線管理員 中儲存兩個設定檔——一個用於讀寫端點,一個用於讀取端點——並根據任務在兩者間切換。
Authentication
延伸模組支援兩種驗證方法:
- 使用者名稱/密碼 - 直接 在連線欄位輸入資料庫憑證。
測試並儲存連線
- 選擇 「測試連線 」以驗證您的連線資訊。
- 測試成功後,測試方塊會顯示一個勾號。
- 選取 [Connect] \(連線\) 以建立連線。
- 你的連線會自動儲存並顯示在連線視窗中。
如果測試在連接雲端資料庫時失敗,請確認你的客戶端 IP 位址是否被叢集的防火牆規則(HorizonDB)允許使用。 目前兩個服務都支援有IP許可清單的公共存取;HorizonDB 的私有端點支援正在規劃中。
探索資料庫物件
[物件總管] 提供資料庫物件的階層式檢視:
- 展開資料庫項目以檢視架構、資料表、檢視表、函式和預存程式。
- 在資料庫中右鍵點擊以查看以下選項:
- 啟動新查詢
-
用這個資料庫聊天 (開始
@pgsql聊天體驗) - 連接 PSQL 以啟動
psql終端連線
- 右鍵點擊表格,選擇「 選擇前1000 名」以查看其資料。 查詢會在 [查詢編輯器] 中開啟,結果會出現在 [結果查看器] 索引標籤中。
在 Azure HorizonDB 連線上,你也可以使用下列方式列出叢集中可用的允許清單擴充功能:
SELECT * FROM pg_available_extensions ORDER BY name;
你可能想在資料庫中安裝的常見 HorizonDB 擴充功能包括 vector、 pg_diskann、 azure_aiage、 和 :
CREATE EXTENSION IF NOT EXISTS azure_ai;
CREATE EXTENSION IF NOT EXISTS vector;
CREATE EXTENSION IF NOT EXISTS pg_diskann;
CREATE EXTENSION IF NOT EXISTS age;
執行查詢
使用查詢編輯器來草稿和執行 SQL 查詢:
- 利用內容感知的 IntelliSense,自動補齊 SQL 關鍵字及物件名稱。
- 使用語法劃重點和自動格式化,以提升可讀性和準確性。
- 透過 [查詢歷程記錄] 窗格存取先前執行的查詢。
在 HorizonDB 上路由讀取和寫入
當你同時擁有讀寫端點和讀取端點的設定檔時,先在 查詢編輯器 的連線選擇器中選擇正確的連線,再執行查詢。 寫入作業與 DDL 必須在讀寫端點上執行;讀取端點僅接受唯讀查詢,並在 HA 複本之間進行負載平衡。
檢閱查詢結果
結果查看器提供與查詢結果互動的進階功能:
- 將結果匯出至 CSV、JSON 或 Excel 格式,以進行進一步分析。
- 使用搜尋、篩選和排序選項來精簡您的數據。
- 持續性資料檢視會在索引標籤之間切換時保留內容。
使用 GitHub Copilot 取得進階協助
GitHub Copilot 整合藉由提供 AI 支援的程式代碼建議、查詢優化秘訣和互動式資料庫協助,來增強 PostgreSQL 開發體驗。 此功能幫助您簡化工作流程、縮短開發時間,並深入了解資料庫運作。
確定已安裝 GitHub Copilot 和 Copilot Chat 擴充功能。 登入您的 GitHub 帳戶,並在擴充功能設定中啟用 @pgsql Copilot Chat 代理程式。
互動式資料庫提示
右鍵點擊資料庫,選擇 與該資料庫聊天 以與 Copilot 互動。
寫出像以下範例這樣的提示,以獲得詳細的見解與建議。
@pgsql tell me about the tables in the HR schema
當連接到Azure HorizonDB 叢集時,Copilot 會擷取即時連線上下文——包括安裝的擴充功能——因此提示詞能利用 HorizonDB 的功能,如 pgvector、pg_diskann 進階過濾,以及 azure_ai AI 函式。
欲了解更多資訊,請參閱 快速入門:在 Visual Studio Code 配置 PostgreSQL 擴充功能GitHub Copilot。
透過 Visual Studio Code 連線
PostgreSQL Visual Studio Code擴充套件中的 Add Connection 選項簡化了連接 Azure HorizonDB 叢集的過程。 此功能透過引導你完成必要的連接細節,簡化了設定流程。
使用 新增連線 按鈕,建立一個新的連線到你的 HorizonDB 叢集。 你可以選擇用 讀寫端點 或 讀取端點來預先填充連線。
確認需求
- 在側邊窗格中,透過選擇適當的核取方塊,確認所有前置條件(Visual Studio Code 和 PostgreSQL 擴充功能)都已滿足。
- 如有需要,請透過側邊窗格的連結下載 Visual Studio Code 及擴充功能。
- 選擇性地填寫連線參數,例如預設資料庫名稱、驗證方法和聯機共用。
在 Visual Studio Code 中開啟
- 選取側邊窗格中的 [ 在 Visual Studio Code 中開啟 ] 按鈕。
- 如果 Visual Studio Code 和擴充功能開啟超過 40 秒,側邊窗格會出現「 在 Visual Studio Code 中重試開啟 」按鈕。
啟動 Visual Studio Code
- 若安裝並執行 Visual Studio Code,PostgreSQL 擴充功能的連線對話框會自動啟動。
- 若安裝 Visual Studio Code 但未開啟,約 40 秒內啟動,接著會出現連線對話框。
提供認證細節
選取您慣用的驗證方法:
- 密碼驗證 - 手動輸入使用者名稱和密碼。
請指定其他連線細節,如 設定檔名稱、 資料庫名稱 (可選)、 伺服器群組及 埠號。
儲存並連線
選取 [ 儲存和連線 ] 按鈕以建立連線。 連線之後,展開 [物件總管] 樹狀結構中的伺服器,以檢視資料庫、結構描述和資料表,或使用內建查詢工具來管理資料庫物件。
故障排除
如果您在連線過程中遇到問題:
- 確認 Visual Studio Code 和 PostgreSQL 擴充功能已安裝並啟用。
- 確保你的客戶端 IP 位址在 Azure HorizonDB 叢集中是被允許的。
- 對於 HorizonDB,請確認你連接的是工作負載的正確端點——寫入必須針對 讀寫端點,而非讀取端點。
- 如果你不符合前提條件,側邊面板會提供回饋和解決問題的步驟,包括重新嘗試連線。
- 請確認你的使用者名稱和憑證是否符合資料庫。
意見反應與支援
針對 Bug、功能要求和問題,請使用 Visual Studio Code 中的內建意見反應工具。 你可以透過 Visual Studio Code 說明選單或 PGSQL 指令面板完成此回饋流程。
-
說明功能表
- 移至 [說明] > [報告問題]
-
命令選擇區
- 使用
Ctrl + Shift + P開啟命令選擇區並執行:PGSQL: Report Issue
- 使用