重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛
标题: PG如何实现查看历史SQL语句的执行计划 [打印本页]
作者: 郑全 时间: 2025-7-26 23:41
标题: PG如何实现查看历史SQL语句的执行计划
我们知道ORACLE有ASH可以记录历史SQL语句,那PG呢
PG本身只是记录历史慢SQL,但要看到当时的执行计划,需要增加auto_explain扩展,该扩展默认是自带的,只是需要设置一下。
下面就来描述一下如何实现:
1.设置配置文件
shared_preload_libraries='auto_explain'
--重启生效
pg_ctl restart
2.设置相关参数
alter system set auto_explain.log_analyze=on;
alter system set auto_explain.log_min_duration='5s';
--配置生效
select pg_reload_conf();
3.验证
select pg_sleep(10);
这个时候,去日志文件中,可以看到超过5S的SQL语句执行计划