PostgreSQL 使用 pg_stat_statements 查询慢 SQL

PostgreSQL 性能优化 About 825 words

pg_stat_statements 介绍

PostgreSQL内置了pg_stat_statements插件。

备注:如果使用make worldmakr install-world编译安装的PostgreSQL,默认安装了该插件。

编译插件

cd /home/postgres/postgresql-16.1/contrib/pg_stat_statements

编译安装

make & make install

加载依赖库

查看预加载依赖库

show shared_preload_libraries;

修改配置,预加载依赖库

alter system set shared_preload_libraries = pg_stat_statements;

如果有多个插件,可以使用以下命令

alter system set shared_preload_libraries = pg_stat_statements, auto_explain, "pg_jieba.so";

重启数据库

对于shared_preload_libraries的修改,需要重启才能生效。

查看相关设置

select * from pg_settings where name like 'pg_stat_statements%';

常用 SQL

找出耗时最长的10条语句。

SELECT
    total_exec_time,
    mean_exec_time as avg_ms,
    calls,
    query
FROM pg_stat_statements
ORDER BY mean_exec_time DESC
LIMIT 10;

记录的语句长度

默认的pg_stat_statements只记录1KB文字大小,可使用命令修改。

alter system track_activity_query_size = 2048;
Views: 187 · Posted: 2024-06-18

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓
Today On History
Browsing Refresh