PostgreSQL 擴充套件中的伺服器儀表板顯示 PostgreSQL 連線細節、即時及歷史效能指標,以及支援的管理工具。 你可以監控伺服器活動、開啟查詢、啟動結構視覺化工具,並存取 Azure 伺服器設定,全部都不用離開編輯器。 儀表板在 Visual Studio Code 和游標中運作方式相同;只有從儀表板的 AI 按鈕開啟的 AI 聊天面板有所不同。
Tip
先設定你的伺服器連線。 參見「連結與身份」。 關於 Azure 專屬的管理操作,請參見 Azure 伺服器管理。
打開伺服器儀表板
- 在 連線 樹中,右鍵點擊伺服器節點。
- 選取儀表板。
儀表板會在一個名為 <profileName> - Dashboard 的分頁開啟,並顯示頁面標頭 <connectionLabel> |績效儀表板。
Note
伺服器儀表板是預設啟用的預覽功能。 要停用它,請在你的 VS Code 設定中設定pgsql.enableServerDashboard為 。false
伺服器詳細資料卡片
儀表板頂端顯示一張詳細卡片,總結目前的連線狀況。
| Field | Description |
|---|---|
| Server | PostgreSQL 伺服器的地址。 |
| 版本 | 伺服器回報的 PostgreSQL 版本。 |
| 通訊埠 | 用於連線的 TCP 埠(預設為 5432)。 |
| User | 這個連線的認證使用者。 |
| 預設資料庫 | 連線所鎖定的資料庫(預設為 postgres)。 |
| 狀態 | (僅限 Azure)適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器的目前狀態,例如為 Ready、Stopped 或 Starting。 選擇值旁的刷新按鈕以更新狀態。 |
Note
State 欄位僅出現在 適用於 PostgreSQL 的 Azure 資料庫 靈活伺服器連線時。
工具列
儀表板頂端的工具列提供快速存取常見操作。 有些按鈕只有在符合特定條件時才會出現。
連線動作
| Button | Description |
|---|---|
| [連接] | 當伺服器斷線時會出現。 選擇它以重新建立連線。 連線時,按鈕會變成 「連線中...」。 |
| 行動>斷開連接 | 斷開伺服器連線。 連接時,從 動作 下拉選單即可取得。 |
當伺服器斷線時,工具列中的資料庫相關按鈕會被停用,並顯示提示:「需要資料庫連線。 連接資料庫以啟用此功能。」
資料庫動作
| Button | Description |
|---|---|
| 新查詢 | 在這個伺服器上開啟一個新的查詢編輯器,連接到資料庫。 資料庫選擇器讓你選擇目標資料庫。 |
| Connect AI / Connect Copilot | 開啟一個針對該伺服器架構與資料的代理模式會話。 開啟的聊天面板,在 Visual Studio Code 中是 GitHub Copilot Chat,在 Cursor 中則是 Cursor 原生的 AI 面板。 請參見 Copilot 整合。 |
| 視覺化結構 | 在此伺服器上啟動資料庫的結構視覺化工具。 資料庫選擇器讓你選擇目標資料庫。 參見 Schema visualizer。 |
Azure 伺服器動作
對於 適用於 PostgreSQL 的 Azure 資料庫 靈活伺服器連線,動作下拉選單包含伺服器生命週期操作,工具列則顯示額外入口網站按鈕。
| Button | Description |
|---|---|
| 行動>開始 | 啟動一個停止的 Azure 伺服器。 |
| 行動>停下 | 停止一個正在運行的 Azure 伺服器。 停止會解除配置運算資源,並暫停運算計費。 |
| 行動>重啟 | 重新啟動 Azure 伺服器。 在更改需要重啟的參數後使用這個功能。 |
| Azure 入口網站 | 在預設瀏覽器中開啟 Azure 入口網站中的伺服器管理頁面。 |
Note
啟動、停止和重新啟動的動作需要對伺服器資源施加適當的 Azure 角色基礎存取控制(RBAC)權限。
伺服器設定選單
對於支援的 Azure 連線,工具列中會出現一個伺服器設定下拉選單按鈕。 它提供導覽到 VS Code 內開啟的 Azure 管理頁面。
| 功能表項目 | Description |
|---|---|
| 網路組態 | 對於 適用於 PostgreSQL 的 Azure 資料庫 靈活伺服器,檢視並修改防火牆規則與公開存取設定。 針對 Azure HorizonDB(預覽版),檢視和修改防火牆規則及 Azure 服務存取權。 |
| 伺服器參數 | 瀏覽並更新 PostgreSQL 參數(靜態與動態皆含)。 |
| Backups | 查看備份歷史並設定備份保留政策。 |
| 伺服器日誌 | 存取並下載 PostgreSQL 伺服器日誌以進行故障排除。 |
| 克隆伺服器 | 從備份點複製 Azure 伺服器。 |
適用於 PostgreSQL 的 Azure 資料庫 flexible server connections 可以顯示完整選單。 當連線擁有完整的 Azure 資源與池識別碼時,Azure HorizonDB(預覽版)連線可顯示網路設定。 參數、備份、伺服器日誌、複製及生命週期操作不適用於 Azure HorizonDB(預覽版)連線。
Note
伺服器設定按鈕只有在擴充功能偵測到伺服器的 Azure 元資料且至少有一個設定頁面可用時才會出現。
Azure metadata prompt
當擴充功能偵測到某部伺服器似乎是受支援的 適用於 PostgreSQL 的 Azure 資料庫 資源,但 Azure 中繼資料尚未可用時,工具列中會出現 Azure Server Detected 提示。 選擇 擷取中繼資料 以取得中繼資料。 擷取元資料可啟用依賴資源身份的 Azure 管理功能,例如 適用於 PostgreSQL 的 Azure 資料庫 靈活伺服器伺服器設定與動作、Azure HorizonDB(預覽版)網路配置,以及支援的 Azure 監視器 指標。
若元資料擷取失敗,會出現「 無法取得元資料 」錯誤訊息及詳細資訊。
不完整元資料橫幅
如果取得 Azure 元資料但缺少租戶 ID,儀表板頂端會出現一個標題為「不完整的 Azure 元資料」的警告橫幅。 在橫幅中選取 擷取中繼資料 以重試。 租戶 ID 是伺服器生命週期操作(啟動、 停止、 重新啟動)所必需的。
調查分頁
在工具列與細節卡下方,儀表板將監控資料組織成四個調查分頁。 伺服器的功能決定哪些分頁會被看到。
| Tab | 它顯示的內容 |
|---|---|
| 概觀 | 依類別分組的公制圖表,並配有目錄導覽器,方便快速存取各組別。 |
| 查詢 | 依執行時間、呼叫次數或其他指標排名的頂尖 SQL 語句,並深入分析個別查詢細節。 |
| 等待 | 等待事件分析,包含排名表與時間趨勢圖,顯示伺服器時間花在哪些等待事件上。 |
| 研討會 | 有活動與閒置會話、區塊樹視圖、鎖定活動圖表,以及會話層級的詳細面板。 |
選擇分頁以切換內容區域。 儀表板會記住你在目前工作階段中使用中的分頁。
概觀
總覽標籤是預設的降落視角。 它以互動式圖表形式,將伺服器指標顯示成可摺疊的群組。
指標群
指標依以下幾組分類。 並非所有群組都會出現在每台伺服器上;儀表板只顯示有資料可用群組。
| 群組 | 內容涵蓋 |
|---|---|
| 資源 | CPU 利用率、記憶體使用率,以及運算層級的指標。 |
| 連線 | 作用中連線、依狀態分類的連線數,以及連線集區指標。 |
| 磁碟 I/O | 讀寫吞吐量、IOPS 和延遲。 |
| 儲存空間 | 磁碟空間、可用儲存空間,以及儲存百分比。 |
| 交易與工作負載 | 交易速率、提交次數、回滾次數及已處理的列數。 |
| 等待事件 | 主要等待事件類型及其頻率摘要。 |
| 維護與自動清理 | 自動吸塵器活動與死元組計數。 |
| 交易識別安全 | 交易 ID 年齡與環繞式指標。 |
| Replication | 複寫延遲與複本狀態(複本設定時)。 |
使用側邊的目錄導覽器直接跳到特定群組。 選擇群組標題以展開或摺疊圖表。
指標來源
每張指標圖表都會顯示一個來源徽章,標示資料來源:
| Badge | 來源 | 可取得性 |
|---|---|---|
| System | 伺服器內建統計收集器 | 所有 PostgreSQL 伺服器 |
| 蔚藍 | Azure 監視器 | 具有 Azure 中繼資料的 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器連線 |
當兩個來源皆可取得時,總覽會同時顯示兩個來源的指標,並標示每個圖表的來源徽章。
時窗與時區
在時區選擇器中選擇 本地 或 UTC ,以控制圖表軸與提示如何顯示時間戳記。
對於 Azure 監視器 指標,有個時間窗選擇器可以讓你選擇日期範圍:
- 1 小時
- 6 小時
- 12小時
- 1 天
- 7 天
- 30 天
圖表互動
- 圖例:每張圖都包含一個圖例。 選取一個圖例項目即可隱藏該數列;再次選取即可恢復顯示。
- 十字準線同步:當你將游標懸停在某個圖表上時,同一分頁中的所有圖表都會將十字準線同步到相同的時間戳記,讓你可以比對不同圖表中的指標。
- 縮放:使用圖表縮放控制來聚焦於感興趣的時間範圍。
查詢
查詢標籤顯示來自 PostgreSQL 統計收集器的查詢效能資料。 用它來辨識慢速或頻繁呼叫的 SQL 語句。
查詢統計需要在連接的 PostgreSQL 伺服器上啟用擴充 pg_stat_statements 功能。
最佳 SQL 資料表
主要視圖是一個排序的 SQL 陳述式表格。 每列顯示:
| Column | Description |
|---|---|
| 查詢 | 標準化的 SQL 文字。 選擇一列來開啟細節面板。 |
| 查詢識別碼 | PostgreSQL 查詢識別碼。 |
| 通話 | 該語句執行的總次數。 |
| 總時間 | 累積執行時間。 |
| 平均時間 | 平均每次通話執行時間。 |
| Rows | 傳回或受影響的資料列總數。 |
| Database | 那個陳述所運行的資料庫。 |
| User | 執行該語句的 PostgreSQL 角色。 |
請使用表格上方的 資料庫 與 使用者 篩選下拉選單來縮小結果範圍。
查詢詳細資料面板
在頂端的 SQL 表格中選擇一列,開啟右側的詳細面板。 細節面板顯示:
- 附有語法醒目提示的完整 SQL 文字
- 執行統計(呼叫次數、總時間、平均時間、最小/最大時間、標準差)
- 一個執行圖表,可視覺化語句隨時間的表現
在詳細面板中選擇 詢問 Copilot(或游標中的 Ask AI),即可開啟預先載入查詢上下文的 AI 聊天會話。
等候
等待分頁幫助你了解伺服器在哪裡等待。 它結合了排名表與加時賽表。
- 排名表:依總等待時間排序等待事件類型。 每一列顯示等待事件名稱、類別及累積時間。
- 加班圖:可視覺化堆疊的等待事件,讓你能看到監控期間等待模式的變化。
等待標籤中的圖表使用準星同步,因此將滑鼠移到一張圖表上會標示另一張圖表的相同時間點。
選擇 詢問 Copilot(或游標中的 Ask AI)以開啟 AI 聊天會話,並以目前的等待事件資料作為上下文。
會議
Sessions 索引標籤會顯示使用中的資料庫工作階段,並協助你找出封鎖關係。
會議摘要卡
在頂部,摘要卡片會顯示各工作階段類別的數量,例如 使用中、閒置和已封鎖工作階段。
會議表
工作階段表格會列出各個工作階段,並包含下列欄位:
| Column | Description |
|---|---|
| PID | 後端的程序識別碼。 |
| User | 此工作階段的 PostgreSQL 角色。 |
| Database | 已連線的資料庫。 |
| 應用程式 | 用戶端應用程式名稱。 |
| 狀態 | 會話狀態(活躍、閒置、交易閒置等)。 |
| 等待類型 | 目前的等待類型(如果有的話)。 |
| 等待事件 | 特定的等待事件名稱。 |
| 查詢 | 目前或最後執行的查詢文字。 |
| Duration | 目前的狀態持續了多久。 |
| 後端類型 | 後端程序類型(客戶端後端、自動清理工作程序等)。 |
請使用表格上方的篩選控制,依工作負載類型、應用程式或狀態縮小會話範圍。
從 Sessions 表格標頭選擇 詢問 Copilot(或游標中的 Ask AI),以開啟以 session 資料作為上下文的 AI 聊天會話。 當存在阻塞鏈時,分析重點在於阻塞關係與會話健康狀況。
區塊樹
當會話間存在阻塞關係時,儀表板會顯示一個阻擋樹,視覺化哪些會話正在阻擋其他會話。 展開樹節點,追蹤從阻塞會話到其等待者的鏈條。
鎖活動圖表
鎖的活動圖表會顯示鎖的取得與等待模式隨時間變化,讓你能視覺化地總結爭奪情況。
工作階段詳細資料面板
選擇會話列以開啟詳細面板,顯示完整會話資訊,包括完整的查詢文字與會話屬性。
複本拓撲
對於使用讀取複本的 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器連線,儀表板中會顯示 複本拓撲面板。 它會顯示主要伺服器及其副本,並顯示狀態指示、切換準備度及任何拓撲警告。
從儀表板問 AI
詢問 Copilot 按鈕(游標中的 Ask AI)會出現在多個儀表板情境中:查詢標籤的標頭、等待標籤、會話標籤,以及各個指標圖表。 當你選擇它時,擴充功能會以代理模式開啟一個 AI 聊天會話,並預先載入相關的儀表板資料(指標、查詢細節、等待事件或會話資訊)作為上下文。
Note
詢問 Copilot / Ask AI 按鈕需要有已啟用的 AI 助理:在 Visual Studio Code 中安裝並登入 GitHub Copilot,或在 Cursor 中使用 Cursor 內建的 AI。 當資料還在載入或沒有資料可用時,按鈕會被停用。
斷開狀態
當伺服器斷線時,儀表板會顯示一個提示,說明需要資料庫連線。 選擇 連接 以重新建立連線並載入儀表板資料。
Azure 計量狀態訊息
在查看 Azure 監視器 指標時,如果指標無法取得,儀表板可能會顯示狀態訊息:
- 缺少 Azure 元資料:歷史指標需要 Azure 元資料。 選擇 取取元資料 以取得它。
- 權限不足:你沒有從 Azure 監視器 查詢指標所需的 Azure 權限。 選擇 查看必要權限 以查看詳細資訊。