你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
PostgreSQL 扩展中的服务器仪表板显示 PostgreSQL 连接详细信息、实时和历史性能指标以及支持的管理工具。 可以监视服务器活动、打开查询、启动架构可视化工具以及访问Azure服务器配置,而无需离开编辑器。 仪表板在Visual Studio Code和 Cursor 中以相同的方式运行;只有从仪表板的 AI 按钮打开的 AI 聊天面板不同。
Tip
首先设置服务器连接。 请参阅 连接和身份。 有关仪表板中可用的Azure特定管理操作,请参阅Azure服务器管理。
打开服务器仪表板
- 在 “连接” 树中,右键单击服务器节点。
- 选择仪表板。
仪表板会在名为 <profileName> - 仪表板 的选项卡中打开,并显示页面标题 <connectionLabel> | 性能仪表板。
注释
服务器仪表板是默认启用的预览功能。 若要禁用它,请在 VS Code 设置中设置为pgsql.enableServerDashboardfalse。
服务器详细信息卡片
仪表板顶部显示汇总当前连接的详细信息卡。
| 领域 | Description |
|---|---|
| Server | PostgreSQL 服务器的地址。 |
| 版本 | 服务器报告的 PostgreSQL 版本。 |
| 端口 | 用于连接的 TCP 端口(默认为 5432)。 |
| User | 此连接的经过身份验证的用户。 |
| 默认 DB | 连接的目标数据库(默认为 postgres)。 |
| 状态 | (仅Azure) Azure Database for PostgreSQL灵活服务器的当前状态,例如“就绪”、“已停止”或“正在启动”。 选择值旁边的刷新按钮以更新状态。 |
注释
“状态”字段仅针对Azure Database for PostgreSQL灵活服务器连接显示。
工具栏
仪表板顶部的工具栏提供对常见操作的快速访问。 某些按钮仅在满足某些条件时才显示。
连接操作
| Button | Description |
|---|---|
| 连接 | 当服务器断开连接时显示。 选择它可重新建立连接。 连接时,按钮将更改为 “正在连接...”。 |
| 操作>断开连接 | 断开与服务器的连接。 连接后,可从 “操作” 下拉列表菜单中获取。 |
当服务器断开连接时,工具栏中的数据库相关按钮将被禁用,并显示工具提示:“需要数据库连接。 连接到数据库以启用此功能。
数据库操作
| Button | Description |
|---|---|
| 新建查询 | 打开连接到此服务器上的数据库的新查询编辑器。 使用数据库选取器可以选择目标数据库。 |
| 连接 AI / 连接Copilot | 打开一个代理模式会话,其范围限定为此服务器的架构和数据。 打开的聊天面板在 Visual Studio Code 中是 GitHub Copilot 对话助手,在 Cursor 中则是 Cursor 的原生 AI 面板。 请参阅Copilot 集成。 |
| 可视化架构 | 在此服务器上启动数据库的架构可视化工具。 使用数据库选取器可以选择目标数据库。 请参阅 架构可视化工具。 |
Azure服务器操作
对于 Azure Database for PostgreSQL 灵活服务器连接,“操作”下拉菜单包含服务器生命周期相关操作,工具栏还会显示一个额外的门户按钮。
| Button | Description |
|---|---|
| 行动>开始 | 启动已停止的 Azure 服务器。 |
| 行动>停止 | 停止正在运行的 Azure 服务器。 停止后会释放计算资源并暂停计算资源计费。 |
| 行动>重新 启动 | 重启Azure服务器。 更改需要重启的参数后,请使用此功能。 |
| Azure 门户 | 在默认浏览器中的 Azure 门户中打开服务器的管理边栏选项卡。 |
注释
启动、停止和重启操作需要对服务器资源具有适当的Azure基于角色的访问控制(RBAC)权限。
“服务器设置”菜单
对于支持的Azure连接,工具栏中会显示“服务器设置”下拉列表按钮。 它提供了指向在 VS Code 中打开的 Azure 管理页面的导航。
| 菜单项 | Description |
|---|---|
| 网络配置 | 对于Azure Database for PostgreSQL灵活服务器,请查看和修改防火墙规则和公共访问设置。 对于 Azure HorizonDB (预览版),查看和修改防火墙规则和Azure服务访问。 |
| 服务器参数 | 浏览和更新 PostgreSQL 参数(静态和动态)。 |
| 备份 | 查看备份历史记录并配置备份保留策略。 |
| 服务器日志 | 访问并下载 PostgreSQL 服务器日志进行故障排除。 |
| 克隆服务器 | 从备份点克隆Azure服务器。 |
Azure Database for PostgreSQL灵活服务器连接可以显示完整菜单。 当连接具有完整的 Azure 资源和池标识信息时,Azure HorizonDB(预览版)连接可显示网络配置。 参数、备份、服务器日志、克隆和生命周期操作不适用于 Azure HorizonDB (预览版)连接。
注释
仅当扩展检测到服务器的Azure元数据并且至少有一个设置页可用时,才会显示“服务器设置”按钮。
Azure元数据提示
当扩展检测到某个服务器似乎是受支持的 Azure Database for PostgreSQL 资源,但 Azure 元数据尚不可用时,工具栏中会出现 检测到 Azure 服务器 提示。 选择 “提取元数据 ”以检索元数据。 获取元数据可启用依赖资源标识的 Azure 管理功能,例如 Azure Database for PostgreSQL 灵活服务器的服务器设置和操作、Azure HorizonDB(预览版)的网络配置,以及在受支持情况下的 Azure Monitor 指标。
如果元数据提取失败,将显示“ 无法提取元数据 ”错误消息,其中包含详细信息。
不完整的元数据横幅
如果Azure元数据已提取,但租户 ID 缺失,则会在仪表板顶部显示警告横幅,标题为“不完整Azure元数据”。 在横幅中选择 “提取元数据 ”以重试。 服务器生命周期操作(启动、 停止、 重启)需要租户 ID。
“调查”选项卡
在工具栏和详细信息卡下方,仪表板将监视数据组织到四个调查选项卡中。 服务器的功能确定哪些选项卡可见。
| 选项卡 | 它显示的内容 |
|---|---|
| 概述 | 按类别分组的指标图表,其中包含目录导航器,以便快速访问每个组。 |
| 查询 | 按执行时间、调用次数或其他指标排名靠前的 SQL 语句,并可下钻查看单条查询的详细信息。 |
| 等待 | 通过排名表和随时间变化的图表进行等待事件分析,显示服务器在何处花费等待时间。 |
| 会话 | 活动会话和空闲会话、阻塞树视图、锁定活动图表和会话级别详细信息面板。 |
选择一个选项卡以切换内容区域。 仪表板会记住当前会话中的活动选项卡。
Overview
“ 概述 ”选项卡是默认登陆视图。 它将服务器指标显示为组织成可折叠组的交互式图表。
指标组
指标组织成以下组。 并非所有组都针对每个服务器显示;仪表板仅显示具有可用数据的组。
| 组 | 它涵盖的内容 |
|---|---|
| 资源 | CPU 使用率、内存使用率和计算级指标。 |
| 连接 | 活跃连接数、按状态划分的连接数和连接池指标。 |
| 磁盘 I/O | 读取和写入吞吐量、IOPS 和延迟。 |
| 存储 | 已用磁盘空间、可用存储和存储百分比。 |
| 事务和工作负荷 | 事务速率、提交、回滚和已处理的行数 |
| 等待事件 | 顶级等待事件类型及其频率的摘要。 |
| 维护与 Autovacuum | 自动清理(Autovacuum)运行情况和死元组数量。 |
| 事务 ID 安全性 | 事务 ID 时间和回卷指标。 |
| 复制 | 复制滞后和副本状态(配置复制时)。 |
使用侧边的目录导航器直接跳转到特定组。 单击组标题可展开或折叠其图表。
指标源
每个指标图表都显示一个来源标识,用于指示数据来源:
| Badge | 来源 | Availability |
|---|---|---|
| System | 服务器的内置统计信息收集器 | 所有 PostgreSQL 服务器 |
| azure | Azure Monitor | 包含 Azure 元数据的 Azure Database for PostgreSQL 灵活服务器连接 |
当两个来源都可用时,概述会同时显示来自这两个来源的指标,并且每个图表都会标有其对应的来源标识。
时间窗口和时区
在时区选择器中选择 “本地 ”或 “UTC ”以控制图表轴和工具提示如何显示时间戳。
对于Azure Monitor指标,时间窗口选择器允许你选择日期范围:
- 1 小时
- 6 小时
- 12 小时
- 1 天
- 7 天
- 30 天
图表交互
- 图例:每个图表都包含一个图例。 选择图例项以隐藏该系列;再次选择即可将其重新显示。
- 十字线同步:将鼠标悬停在一个图表上时,同一选项卡中的所有图表将十字线同步到相同的时间戳,以便可以跨图表关联指标。
- 缩放:使用图表缩放控件专注于感兴趣的时间范围。
查询
“ 查询 ”选项卡显示 PostgreSQL 统计信息收集器的查询性能数据。 使用它来识别慢速或经常调用的 SQL 语句。
查询统计信息要求 pg_stat_statements 在连接的 PostgreSQL 服务器上启用扩展。
热门 SQL 表
主视图是 SQL 语句的排名表。 每行显示:
| 列 | Description |
|---|---|
| Query | 规范化 SQL 文本。 选择一行以打开详细信息面板。 |
| 查询 ID | PostgreSQL 查询标识符。 |
| 通话 | 执行语句的总次数。 |
| 总时间 | 累积执行时间。 |
| 平均时间 | 每个调用的平均执行时间。 |
| 行 | 返回或受影响的总行数。 |
| 数据库 | 运行语句的数据库。 |
| User | 执行该语句的 PostgreSQL 角色。 |
使用表格上方的 数据库 和 用户 筛选下拉列表来缩小结果范围。
查询详细信息面板
选择顶部 SQL 表中的一行,打开右侧的详细信息面板。 详细信息面板显示:
- 带语法高亮的完整 SQL 文本
- 执行统计信息(调用、总时间、平均时间、最小/最大时间、标准偏差)
- 一个执行图表,用于可视化语句随时间推移的性能
在详细信息面板中选择 询问 Copilot(或在 Cursor 中选择 Ask AI),以打开一个已预先加载该查询上下文的 AI 聊天会话。
等待
“ 等待 ”选项卡可帮助你了解服务器等待的时间。 它将排名表与随时间推移的图表组合在一起。
- 排名表:列出按总等待时间排序的等待事件类型。 每行显示等待事件名称、类别和累积时间。
- 随时间推移的图表:直观显示一段时间内堆积的等待事件,以便查看监视时段内等待模式的变化情况。
“等待”选项卡中的图表使用十字线同步,因此将鼠标悬停在一个图表上突出显示另一个时间点。
选择询问 Copilot(或“在游标中询问 AI”)以打开 AI 聊天会话,并将当前等待事件数据作为上下文。
会议
“ 会话 ”选项卡显示活动数据库会话,并帮助识别阻塞关系。
会话摘要卡
在顶部,摘要卡显示会话类别(例如 活动、 空闲和 阻止 会话)的计数。
会话表
会话表列出了各个会话,列如下:
| 列 | Description |
|---|---|
| Pid | 后端的进程 ID。 |
| User | 会话使用的 PostgreSQL 角色。 |
| 数据库 | 连接的数据库。 |
| 应用程序 | 客户端应用程序名称。 |
| 状态 | 会话状态(活跃、空闲、事务中空闲等)。 |
| 等待类型 | 当前等待类型(如果有)。 |
| 等待事件 | 特定的等待事件名称。 |
| Query | 当前或上次执行的查询文本。 |
| Duration | 当前状态的保留时间。 |
| 后端类型 | 后端进程类型(客户端后端进程、autovacuum 工作进程等)。 |
使用表上方的筛选器控件按工作负荷类型、应用程序或状态缩小会话范围。
从会话表头中选择 询问 Copilot(或在 Cursor 中选择 Ask AI),以会话数据为上下文打开 AI 聊天会话。 当存在阻塞链时,分析侧重于阻塞关系和会话运行状况。
块树
当会话之间存在阻塞关系时,仪表板会显示一个阻止树,用于可视化哪些会话正在阻止其他会话。 展开树节点,将链从阻塞会话跟踪到其服务员。
锁定活动图表
锁活动图表显示锁获取和等待模式随时间的变化,帮助你直观了解锁争用情况。
会话详细信息面板
选择会话行以打开显示完整会话信息的详细信息面板,包括完整的查询文本和会话属性。
副本拓扑
对于使用读取副本的 Azure Database for PostgreSQL 灵活服务器连接,仪表板中会显示“副本拓扑”面板。 它显示主服务器及其副本,其中包含状态指示器、切换就绪情况和任何拓扑警告。
在仪表板中向 AI 提问
询问 Copilot按钮(光标中的 Ask AI)显示在多个仪表板上下文中:“查询”选项卡标题、“等待”选项卡、“会话”选项卡和单个指标图表。 选择后,扩展会在代理模式下打开 AI 聊天会话,其中包含预加载为上下文的相关仪表板数据(指标、查询详细信息、等待事件或会话信息)。
注释
询问 Copilot / Ask AI 按钮需要有一个可用的 AI 助手:在 Visual Studio Code 中安装并登录 GitHub Copilot,或者在 Cursor 中使用其内置 AI。 当数据仍在加载或没有数据可用时,该按钮处于禁用状态。
断开状态
当服务器断开连接时,仪表板会显示一条提示,说明需要数据库连接。 选择 “连接” 以重新建立连接并加载仪表板数据。
Azure指标状态消息
查看 Azure Monitor 指标时,如果指标不可用,仪表板可能会显示状态消息:
- 缺少 Azure 元数据:历史指标需要 Azure 元数据。 选择 “提取元数据 ”以检索它。
- 权限不足:你没有从Azure Monitor查询指标所需的Azure权限。 有关详细信息,请选择 “查看所需权限 ”。