- 文档首页
云数据库 PostgreSQL 版
用户指南
插件
资源密集活动统计(pg_profile)
资源密集活动统计(pg_profile)
pg_profile 是一款可以统计数据库中资源使用情况,用以实现帮助用户来分析优化数据库的目的。
背景信息
pg_profile 基于 PostgreSQL 的自带的统计视图(pg_stat_statements)和社区插件(pg_stat_kcache),完全使用 PL/pgSQL 编写,无需任何外部库或软件。pg_profile 依赖 dblink、pg_stat_statements 和 pg_stat_kcache 插件,其中 pg_stat_kcache 为可选项,启用 pg_stat_kcache 可以提供更多信息收集功能。 前提条件
- 将 pg_stat_statements 加入到 shared_preload_libraries 参数中。
- (可选)pg_stat_kcache 加入到 shared_preload_libraries 参数中。
注意事项
- 存储采样信息将会占用磁盘空间。pg_profile 具备自动清理机制,需注意数据保存。
- 采样较为耗时,无需频繁采样,推荐采样频率为每小时 1~2 次。
创建与删除插件
使用插件
pg_profile 插件在使用过程中需要两个数据库进行协同,一个数据库为被采样的数据库,一个数据库用于存储采集的统计信息。 这两个数据库可以创建在不同的 PostgreSQL 实例中,也可创建在同一 PostgreSQL 实例中。下文以 server 数据库指代被采样的数据库,以 profile 数据库指代存储统计信息的数据库,对 pg_profile 插件的使用过程进行说明。
在采样时,profile 数据库会向 server 数据库发出一个请求,server 数据库收到请求后采样自己的信息,再将采样结果返回给 profile,profile 将收到的结果存储在 profile 库的表中。
1. 准备 Server 数据库。
2. 准备 profile 数据库。
3. 创建 Server 连接。
结果示例:
说明
创建 server 连接后,会自动创建一个 profile 数据库的连接,即上述结果示例中的名为 local 的连接。
4. 修改 profile 数据库连接的信息,配置密码。
5. 初次进行数据采集。
6. 对 server 数据库进行压测后,再次进行采集。
说明
- 以下命令需要在客户端命令行窗口执行,请确保客户端已安装 PostgreSQL 客户端。
连接 profile 数据库所在实例,再次进行数据采集。
7. 将采集结果生成报告。
您可以通过如下两种方式将采集结果导出到本地。
- 方式 1:通过 psql 在 profile 数据库中执行如下命令:
其他
最近更新时间:2026.01.12 20:03:59