[转帖]postgresql日志参数

postgresql,日志,参数 · 浏览次数 : 0

小编点评

**日志参数设置** ``` # 错误日志记录参数 log_min_error_statement = PANIC # 监控 SQL 语句持续时间 log_min_duration_statement = 3 # 记录检查点和重启点的日志信息 log_checkpoints = on # 控制日志记录格式 log_line_prefix = '%m [%p] ' # 设置日志输出模式 log_destination = 'csvlog,stderr' # 设置日志文件存放目录 log_directory = 'pg_log' # 设置日志文件命名格式 log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # 设置日志文件压缩格式 log_rotate_age = 1d # 设置日志文件大小限制 log_rotation_size = 1GB # 设置日志最小消息数量 log_min_messages = infolog_min_duration_statement # 控制 SQL 语句记录级别 log_error_verbosity = VERBOSE # 设置服务器日志时区 log_timezone = 'Asia/Shanghai' # 设置死锁等待超时时间 deadlock_timeout = 1 # 设置日志文件名称和数量 log_filename = 'postgresql-%I.log' # 设置日志时间格式 log_filename = 'postgresql-%H.log' # 设置日志时间格式 log_filename = 'postgresql-%w.log' # 设置日志保存时间 log_filename = 'postgresql-%d.log' # 设置日志保存时间 log_filename = 'postgresql-%j.log' # 设置日志转码的存储方式 log_temp_files = { 'size': -1, 'prefix': 'postgresql-' } ```

正文

https://www.jianshu.com/p/407c03aaa600

 

postgresql日志参数

logging_collector:这个参数启用日志收集器,它是一个捕捉被发送到stderr的日志消息的后台进程,并且它会将这些消息重定向到日志文件中;默认是OFF,修改参数需要重启。

log_destination:有三种输出方法,stderr,csvlog,syslog;在windows上还支持eventlog。默认是stderr,如果使用csvlog的话,logging_collector必须开启。也可以同时使用csvlog和stderr,会记录两种格式的日志。

log_directory:指定日志的存放位置,默认是pg_log。

log_filename:日志的命名格式, 默认是postgresql-%Y-%m-%d_%H%M%S.log。支持strftime格式
格式符 说明
%a 星期的英文单词的缩写:如星期一, 则返回 Mon
%A 星期的英文单词的全拼:如星期一,返回 Monday
%b 月份的英文单词的缩写:如一月, 则返回 Jan
%B 月份的引文单词的缩写:如一月, 则返回 January
%c 返回datetime的字符串表示,如03/08/15 23:01:26
%d 返回的是当前时间是当前月的第几天
%f 微秒的表示: 范围: [0,999999]
%H 以24小时制表示当前小时
%I 以12小时制表示当前小时
%j 返回 当天是当年的第几天 范围[001,366]
%m 返回月份 范围[0,12]
%M 返回分钟数 范围 [0,59]
%P 返回是上午还是下午–AM or PM
%S 返回秒数 范围 [0,61]。。。手册说明的
%U 返回当周是当年的第几周 以周日为第一天
%W 返回当周是当年的第几周 以周一为第一天
%w 当天在当周的天数,范围为[0, 6],6表示星期天
%x 日期的字符串表示 :03/08/15
%X 时间的字符串表示 :23:22:08
%y 两个数字表示的年份 15
%Y 四个数字表示的年份 2015
%z 与utc时间的间隔 (如果是本地时间,返回空字符串)
%Z 时区名称(如果是本地时间,返回空字符串)

log_file_mode:在 Unix 系统上,当logging_collector被启用时,这个参数设置日志文件的权限(在微软 Windows 上这个参数将被忽略)。这个参数值应当是一个数字形式的模式,它可以被chmod和umask系统调用接受(要使用通常的十进制格式,该数字必须以一个0(零)开始)。
默认的权限是0600,表示只有服务器拥有者才能读取或写入日志文件。其他常用的设置是0640,它允许拥有者的组成员读取文件。不过要注意你需要修改log_directory为将文件存储在集簇数据目录之外的某个位置,才能利用这个设置。

log_rotation_age:当logging_collector被启用时,这个参数决定一个个体日志文件的最长生命期。当这些分钟过去后,一个新的日志文件将被创建。将这个参数设置为零将禁用基于时间的新日志文件创建。

log_rotation_size:当logging_collector被启用时,这个参数决定一个个体日志文件的最大尺寸。当这么多千字节被发送到一个日志文件后,将创建一个新的日志文件。将这个参数设置为零将禁用基于尺寸的新日志文件创建。

log_truncate_on_rotation:默认为off,设置为on的话,如果新建了一个同名的日志文件,则会清空原来的文件,再写入日志,而不是在后面追加。

log_min_messages:控制哪些消息级别 被写入到服务器日志。有效值是DEBUG5、DEBUG4、 DEBUG3、DEBUG2、DEBUG1、 INFO、NOTICE、WARNING、 ERROR、LOG、FATAL和 PANIC。每个级别都包括以后的所有级别。级别越靠后,被发送的消息越少。默认值是WARNING。

log_min_error_statement:控制哪些导致错误情况的 SQL 语句被记录在服务器日志中。。默认值是ERROR,要有效地关闭记录错误语句,将这个参数设置为PANIC。

log_min_duration_statement:相当于mysql的long_query_time,记录慢SQL,超过这个时间的SQL将会被记录到日志里。

log_checkpoints:导致检查点和重启点被记录在服务器日志中。一些统计信息也被包括在日志消息中,包括写入缓冲区的数据和写它们所花的时间。

log_connections:导致每一次尝试对服务器的连接被记录,客户端认证的成功完成也会被记录。 只有超级用户能在会话开始时更改这个参数,在会话中它不能被更改。默认 为off。

log_disconnections:导致会话终止也会被记录。日志输出提供的信息类似于 log_connections,不过还外加会话的持续时间。 只有超级用户能在会话开始时更改这个参数,在会话中它不能被更改。默认 为off。

log_duration:导致每一个完成的语句的持续时间被记录。默认值是off。如果log_duration为on并且log_min_duration_statement为正值,所有持续时间都将被记录,但是只有超过阈值的语句才会被记录查询文本。这种行为有助于在高负载安装中收集统计信息。

log_error_verbosity:有效值是TERSE、DEFAULT和VERBOSE,默认值是default,控制每条日志信息的详细程度,VERBOSE输出包括SQLSTATE错误码,以及产生错误的源代码文件名、函数名和行号

log_hostname:默认情况下,连接日志消息只显示连接主机的 IP 地址。打开这个参数将导致也记录主机名。注意根据你的主机名解析设置,这可能会导致很微小的性能损失。

log_line_prefix:设置日志输出格式(能够记录时间,用户名称,数据库名称,客户端IP和端口,方便定位问题)默认值是’%m [%p] ',它记录时间戳和进程ID。


 
image.png

log_lock_waits:控制当一个会话为获得一个锁等到超过deadlock_timeout时,是否要产生一个日志消息。这有助于决定是否锁等待造成了性能低下。默认值是off

log_statement:控制哪些 SQL 语句被记录。有效值是 none (off)、ddl、mod和 all(所有语句)。默认值是none

log_replication_commands:每一个复制命令都被记录在服务器日志中。

log_temp_files:控制记录临时文件名和尺寸。临时文件可以被创建用来排序、哈希和存储临时查询结果。一个零值记录所有临时文件信息,而正值只记录尺寸大于或等于指定千字节数的文件。默认设置为 -1,它禁用这种记录。

log_timezone:设置在服务器日志中写入的时间戳的时区。默认值是GMT。

日志常用参数设置

log_destination = ‘csvlog,stderr’
logging_collector = on
log_directory = ‘pg_log’
log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log’
log_rotation_age = 1d
log_rotation_size = 1GB
log_min_messages = info
log_min_duration_statement = 3
log_checkpoints = on
log_connections = on
log_disconnections = on
log_duration = on
log_lock_waits = on
log_statement = ‘ddl’
log_error_verbosity = VERBOSE
log_timezone = ‘Asia/Shanghai’
deadlock_timeout = 1

日志保留方案

log_filename = ‘postgresql-%I.log’ #最多保存12小时的日志,每小时一个文件
log_filename = ‘postgresql-%H.log’ #最多保存24小时的日志,每小时一个文件
log_filename = ‘postgresql-%w.log’ #最多保存一周的日志,每天一个文件
log_filename = ‘postgresql-%d.log’ #最多保存一个月的日志,每天一个文件
log_filename = ‘postgresql-%j.log’ #最多保存一年的日志,每天一个文件

转自https://www.likecs.com/show-205054479.html【侵权请联系】

与[转帖]postgresql日志参数相似的内容:

[转帖]postgresql日志参数

https://www.jianshu.com/p/407c03aaa600 postgresql日志参数 logging_collector:这个参数启用日志收集器,它是一个捕捉被发送到stderr的日志消息的后台进程,并且它会将这些消息重定向到日志文件中;默认是OFF,修改参数需要重启。 log

[转帖]PostgreSQL 日志参数解释 常用环境日志参数配置

1.常用日志参数 logging_collector = on/off 是否将日志重定向至文件中,默认是off(该配置修改后,需要重启DB服务),启动之后查看进程ps -ef|grep postgres,会多一个logger进程。 log_directory = 'pg_log' 日志文件目录,默认

[转帖]PostgreSQL 参数优化设置 32GB内存(推荐) 内存参数 检查点 日志参数 自动初始化参数shell脚本

1.修改参数列表 (1)执行计划 enable_nestloop = off #默认为on enable_seqscan = off #默认为on enable_indexscan = on enable_bitmapscan = on max_connections = 1000 #默认为100

[转帖]PostgreSQL 慢查询SQL跟踪

https://www.cnblogs.com/VicLiu/p/12017704.html PostgreSQL 开启慢SQL捕获在排查问题时是个很有效的手段。根据慢SQL让我在工作中真正解决了实际问题,很有帮助。 PostgreSQL 日志支持的输出格式有 stderr(默认)、csvlog 、

[转帖]PostgreSQL WAL日志清理

https://www.modb.pro/db/65309 pg_archivecleanup -d $PGDATA/pg_wal `pg_controldata $PGDATA |grep "REDO WAL" |awk '{print $6}'` 作者:崔鹏,曾获得中国PostgreSQL数据库

[转帖]PostgreSQL的xlog/Wal归档及日志清理

PostgreSQL的xlog/Wal归档及日志清理 https://www.modb.pro/db/86041 xlog/wal日志 类似于Oracle的redo, PostgreSQL 的redo文件被称为WAL文件或XLOG文件,存放在$PGDATA/pg_xlog 或($PGDATA/pg_

[转帖]PostgreSQL中切换WAL是否会触发checkpoint

https://www.modb.pro/db/570143?utm_source=index_ori 内容概述 Oracle数据库中切换redo日志会触发检查点事件,那么在PostgreSQL中是否也会触发checkpoint事件呢? Oracle中测试 [oracle@orcldb ~]$ sq

[转帖]openGauss 3.0 单节点安装部署

https://cdn.modb.pro/db/568455 openGauss来源于PostgreSQL 9.2.4pg使用c实现,gs使用c++实现一个实例多个库 单机HA不是支持一主一备,提供高可靠和读扩展,备机最多8套。 主备部署模块说明:OM运维管理模块:提供日常运维、配置管理接口,工具在

[转帖]openGauss 3.0 单节点安装部署

https://cdn.modb.pro/db/568455 openGauss来源于PostgreSQL 9.2.4pg使用c实现,gs使用c++实现一个实例多个库 单机HA不是支持一主一备,提供高可靠和读扩展,备机最多8套。 主备部署模块说明:OM运维管理模块:提供日常运维、配置管理接口,工具在

[转帖]金仓数据库KingbaseES数据目录结构

KingbaseES数据库结构 [kingbase@postgresV8]$ tree -LP2data/.├── data│ ├── base # 存储用户创建的数据库文件及隶属于用户数据库的所有关系.比如表、索引...│ ├── current_logfiles. # 记录当前被日志收集器写入的