修改配置文件
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';
#是否开启日志收集(包括系统日志、错误日志等) 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