PostgreSQL 开启慢 SQL 日志
配置方法
修改 postgresql.conf 文件:
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d.log'
log_min_duration_statement = 2000 # 单位:毫秒(2 秒)
log_checkpoints = on
log_lock_waits = on
- 参数说明:
log_min_duration_statement:记录执行时间超过该值的 SQL。logging_collector:必须启用以记录日志。
重新加载配置:
pg_ctl reload -D /path/to/data/directory
# 或 SQL 命令
SELECT pg_reload_conf();
查看慢查询
日志文件默认位于 pg_log 目录,可通过 log_filename 定义的路径查找。
性能影响
- 日志记录由后台进程完成,通常影响可忽略。
- 高并发场景下,频繁记录长 SQL 可能增加 I/O 负载。
建议:
- 设置合理的阈值(如
long_query_time=2)。 - 日志文件使用 SSD 存储。
- 定期归档或清理历史日志。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果