Postgresql开启SQL执行语句收集

修改配置文件

1.打开Postgresql配置文件,如:C:\Program Files\PostgreSQL\14\data\postgresql.conf

2.修改如下,如果字段被#注释,则去掉#

log_directory = 'log'

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

log_statement = 'all'

复制代码
log_directory = 'log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
log_statement = 'all'
  • log_statement:log_statement参数控制记录哪些SQL语句。有效值是none(off),ddl,mod和all(所有语句)。
    ddl记录所有数据定义语句,例如CREATE,ALTER和DROP语句。
    mod记录所有ddl语句,以及数据修改语句,如INSERT,UPDATE,DELETE,TRUNCATE和COPY FROM。

查看日志

进入日志存放目录:PostgreSQL安装目录\data\log,如:C:\Program Files\PostgreSQL\14\data\log,打开目录下的日志文件查看即可

--查看配置文件路径

SHOW config_file;

ALTER SYSTEM SET log_statement = 'all';

---查询系统配置变量

SELECT * FROM pg_settings;

SHOW log_statement;

SHOW log_filename;

SHOW log_directory;

SELECT name, setting, unit, short_desc, vartype

FROM pg_settings

WHERE name = 'log_statement';

sql 复制代码
#是否开启日志收集(包括系统日志、错误日志等)
logging_collector = on
#日志文件目录。相对于$PGDATA的子目录
log_directory = 'log' 
#日志文件名
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
#日志文件权限。默认0600。如果希望服务器上其他用户也能读取则0644(存在泄露信息风险)
log_file_mode = 0600
#按日志文件时长切换日志。默认1d表示24小时。0为不按时长切换
log_rotation_age = 1d
#按日志文件大小切换日志。默认10MB。 0为不按大小切换
log_rotation_size = 0
#日志内容项定义
log_line_prefix = '%m [%p] %a %u %d %r '
 
 
#------- 以下与记录SQL语句密切相关 -------
 
#记录SQL范围,类型可为:none, ddl, mod, all
log_statement = 'mod'
 
#记录语句执行时长(单位毫秒)。超过本阈值才对语句执行时长进行记录
# -1 is disabled, 
# 0 logs all statements and their durations
# > 0 logs only statements running at least this number of milliseconds
log_min_duration_statement = 0
 
#是否记录连接创建(例如登录)
log_connections = on
 
#是否记录连接端口(例如登出)
log_connections = on
 
#是否记录获取锁超时。当会话获取lock时长大于等于deadlock_timeout配置则记录
log_lock_waits = on
 
相关推荐
Dontla8 分钟前
高基数(High Cardinality)问题介绍(Prometheus、高基数字段、低基数字段)
前端·数据库·prometheus
a95114164214 分钟前
CSS如何实现元素隐藏不占位_使用display-none完全移除
jvm·数据库·python
SelectDB技术团队1 小时前
SelectDB Enterprise 4.0.5:强化安全与治理,构建企业级实时分析与 AI 数据底座
数据库·人工智能·apache doris
一 乐1 小时前
医院挂号|基于springboot + vue医院挂号管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·医院挂号管理系统
ego.iblacat2 小时前
Redis 核心概念与部署
数据库·redis·缓存
m0_493934532 小时前
如何监控AWR数据收集Job_DBA_SCHEDULER_JOBS中的BSLN_MAINTAIN_STATS
jvm·数据库·python
万岳科技系统开发2 小时前
商城系统搭建自建平台与入驻第三方平台对比分析
数据库·小程序·架构
不剪发的Tony老师2 小时前
QoreDB:一款跨平台、现代化的通用数据库客户端
数据库
五阿哥永琪2 小时前
MySQL 中 VARCHAR、TEXT 与 JSON 类型:区别、场景与选型指南
数据库·mysql·json
a9511416422 小时前
Go语言如何操作OSS_Go语言阿里云OSS上传教程【完整】
jvm·数据库·python