gaussdb数据库参数说明【⽇志相关参数设置】【08】farnell
1. 记录⽇志的位置
joanna怎么读服务器⽇志的存储位置、⽇志⽂件属性的相关参数
log_destination
参数说明:GaussDB⽀持多种⽅法记录服务器⽇志,log_destination的取值为⼀个逗号分隔开的列表(如
log_destination=“stderr,csvlog”)。
取值范围:字符串
有效值为stderr、csvlog、syslog,Windows平台还⽀持eventlog。
取值为stderr,表⽰⽇志打印到屏幕。
取值为csvlog,表⽰⽇志的输出格式为“逗号分隔值”即CSV (Comma Separated Value)格式。使⽤csvlog记录⽇志的前提是将logging_collector设置为 on。
取值为syslog,表⽰通过操作系统的syslog记录⽇志。GaussDB使⽤syslog的 LOCAL0 ~ LOCAL7记录⽇志。使⽤syslog记录⽇志需在操作系统后台服务配置⽂件中添加代码:
local0.*/var/log/postgresql
取值为eventlog,请在操作系统中注册事件源及库⽂件以便在Windows事件查看器中显⽰事件⽇志。
默认值:stderr
logging_collector
参数说明:控制开启后端⽇志收集进程logger进⾏⽇志收集。该进程捕获发送到stderr或csvlog的⽇志消息并写⼊⽇志⽂件。
这种记录⽇志的⽅法⽐将⽇志记录到syslog更加有效,因为某些类型的消息在syslog的输出中⽆法显⽰。例如动态链接库加载失败消息和脚本(例如archive_command)产⽣的错误消息。
注意:
将服务器⽇志发送到stderr时可以不使⽤logging_collector参数,此时⽇志消息会被发送到服务器的stderr指向的空间。这种⽅法的缺点是⽇志回滚困难,只适⽤于较⼩的⽇志容量。
取值范围:布尔型
on 表⽰开启⽇志收集功能。
off 表⽰关闭⽇志收集功能。
默认值:on
log_directory
参数说明:logging_collector设置为on时,log_directory决定存放服务器⽇志⽂件的⽬录。 它可以是绝对路径,或者是相对路径(相对于数据⽬录的路径)。log_directory⽀持动态修改,可以通过gs_guc reload实现。
注意:
当配置⽂件中log_directory的值为⾮法路径时,会导致集群⽆法重新启动。
通过gs_guc reload动态修改log_directory时,当指定路径为合法路径时,⽇志输出到新的路径下。当指定路径为⾮法路径时,⽇志输出到上⼀次合法的⽇志输出路径下⽽不影响数据库正常运⾏。此时即使指定的log_directory的值⾮法,也会写⼊到配置⽂件中。
该参数设定的路径长度不能超过1024,否则会因为截断导致路径错误。
该路径不要配置在数据⽬录的⼦⽬录下,否则在数据库重建时,如果本机是备机则会删除该⽬录。
说明:
合法路径:⽤户对此路径有读写权限
⾮法路径:⽤户对此路径⽆读写权限
取值范围:字符串
默认值:pg_log,表⽰在数据⽬录下的pg_log/⽬录下⽣成服务器⽇志。
log_filename
参数说明:logging_collector设置为on时,log_filename决定服务器运⾏⽇志⽂件的名称。通常⽇志⽂件名是按照strftime模式⽣成,因此可以⽤系统时间定义⽇志⽂件名,⽤%转义字符实现。
注意:
建议使⽤%转义字符定义⽇志⽂件名称,否则难以对⽇志⽂件进⾏有效的管理。英语说课稿格式
当log_destination设为csvlog时,系统会⽣成附加了时间戳的⽇志⽂件名,⽂件格式为csv格式,例如
rver_log.1093827753.csv。
取值范围:字符串
默认值:postgresql-%Y-%m-%d_%H%M%S.log
log_file_mode
参数说明:logging_collector设置为on时,log_file_mode设置服务器⽇志⽂件的权限。在Windows系统下,此选项⽆效。通常
log_file_mode的取值是能够被chmod和umask系统调⽤接受的数字。
注意:
使⽤此选项前请设置log_directory,将⽇志存储到数据⽬录之外的地⽅。
宝贝的英文是什么
因⽇志⽂件可能含有敏感数据,故不能将其设为对外可读。
取值范围:整型,0000~0777
说明:
0600表⽰只允许服务器管理员读写⽇志⽂件。
0640表⽰允许管理员所在⽤户组成员只能读⽇志⽂件。
默认值:0600
log_truncate_on_rotation
参数说明:logging_collector设置为on时,log_truncate_on_rotation设置⽇志消息的写⼊⽅式。
⽰例如下:
nationalism
假设⽇志需要保留7天,每天⽣成⼀个⽇志⽂件,⽇志⽂件名设置为rver_log.Mon、rver_log.Tue等。第⼆周的周⼆⽣成的⽇志消息会覆盖写⼊到rver_log.Tue。设置⽅法:将log_filename设置为rver_log.%a ,log_truncate_on_rotation设置为
on,log_rotation_age设置为1440,即⽇志有效时间为1天。
女佣人
取值范围: 布尔型
on 表⽰GaussDB以覆盖写⼊的⽅式写服务器⽇志消息。
off 表⽰GaussDB将⽇志消息附加到同名的现有⽇志⽂件上。
默认值:off
log_rotation_age
参数说明:logging_collector设置为on时,log_rotation_age决定创建⼀个新⽇志⽂件的时间间隔。当现在的时间减去上次创建⼀个服务器⽇志的时间超过了log_rotation_age的值时,将⽣成⼀个新的⽇志⽂件。
取值范围:整型
单位:min,h,d
0表⽰关闭基于时间的新⽇志⽂件的创建。
persia white
默认值:1d
美国大学gre要求
log_rotation_size
参数说明:logging_collector设置为on时,log_rotation_size决定服务器⽇志⽂件的最⼤容量。当⽇志消息的总量超过⽇志⽂件容量时,服务器将⽣成⼀个新的⽇志⽂件。
取值范围:整型
0表⽰关闭基于容量的新⽇志⽂件的创建。
默认值:20MB
max_pglog_size
参数说明:当进⾏⽇志清理时,此参数设置⽇志⽬录的⼤⼩限制。当超过该值时,⽇志管理进程将删除该⽇志⽬录下的旧⽇志⽂件,以避免⽇志⽆限增⼤。
取值范围:整型
0表⽰关闭⽇志清理功能。
默认值:80MB
说明:
⽇志清理进程频率为30分钟,检查当前⽇志⽬录是否超过设定的最⼤值(max_pglog_size),⼀旦超过,清除旧⽇志⽂件。
为避免频繁删除旧⽇志⽂件,在每次⽇志清理后,⽇志⽬录⼤⼩都不超过最⼤值(max_pglog_size)的80%。
syslog_facility
参数说明:log_destination设置为syslog时,syslog_facility配置使⽤syslog记录⽇志的“设备”。
取值范围:枚举类型
有效值有 local0、local1、local2、local3、local4、local5、local6、local7。
默认值:local0
syslog_ident
参数说明:log_destination设置为syslog时,syslog_ident设置在syslog⽇志中GaussDB⽇志消息的标识。
取值范围:字符串
默认值:postgres
event_source
参数说明:log_destination设置为eventlog时,event_source设置在⽇志中GaussDB⽇志消息的标识。
取值范围:字符串
默认值:PostgreSQL
2. 记录⽇志的时间
只有当⽇志消息达到⼀定的级别时,服务器才会在服务器⽇志中记录此⽇志消息。
client_min_messages
参数说明:控制发送到客户端的消息级别。每个级别都包含排在它后⾯的所有级别中的信息。级别越低,发送给客户端的消息就越少。
注意:
当client_min_messages和log_min_messages取相同值时,其值所代表的级别不同。
取值范围:枚举类型
有效值有 debug5、debug4、debug3、debug2、debug1、log、notice、warning、error、fatal、panic。
默认值:notice
log_min_messages
参数说明:控制写到服务器⽇志⽂件中的消息级别。每个级别都包含排在它后⾯的所有级别中的信息。级别越低,服务器运⾏⽇志中记录的消息就越少。
注意:
当client_min_messages和log_min_messages取相同值log时所代表的消息级别不同。
取值范围:枚举类型
龙井茶英语有效值有debug5、debug4、debug3、debug2、debug1、info、notice、warning、error、log、fatal、panic。
新东方图书网默认值:warning
log_min_error_statement
参数说明:控制在服务器⽇志中记录错误的SQL语句。
取值范围:枚举类型
有效值有debug5、debug4、debug3、debug2、debug1、info、notice、warning、error、log、fatal、panic。
说明:
设置为error ,表⽰导致错误、⽇志消息、致命错误、panic的语句都将被记录。
设置为panic,表⽰关闭此特性。
默认值:error
log_min_duration_statement
参数说明:当某条语句的持续时间⼤于或者等于特定的毫秒数时,log_min_duration_statement控制记录每条完成语句的持续时间。
设置log_min_duration_statement可以很⽅便地跟踪需要优化的查询语句。对于使⽤扩展查询协议的客户端,语法分析、绑定、执⾏每⼀步所花时间被独⽴记录。
注意:
当此选项与log_statement同时使⽤时,已经被log_statement记录的语句⽂本不会被重复记录。在没有使⽤syslog情况下,推荐使⽤
log_line_prefix记录PID或会话ID,⽅便将当前语句消息连接到最后的持续时间消息。
取值范围:整型,最⼩值为-1
设置为250,所有运⾏时间不短于250ms的SQL语句都会被记录。
设置为0,输出所有语句的持续时间。
设置为-1,关闭此功能。
默认值:-1
使⽤的消息安全级别
信息严重程度类型详细说明系统⽇志事件⽇志debug[1-5]报告详细调试信息。DEBUG INFORMATION info报告⽤户可能需求的信息, ⽐如在VACUUM VERBOSE过程中的信息。INFO INFORMATION notice报告可能对⽤户有帮助的信息, ⽐如, 长标识符的截断, 作为主键⼀部分创建的索引等。NOTICE INFORMATION warning报告警告信息, ⽐如在事务块范围之外的COMMIT。NOTICE WARNING error报告导致当前命令退出的错误。WARNING ERROR
log报告对数据库管理员有⽤的信息, ⽐如检查点操作统计信息。INFO INFORMATION fatal报告导致当前会话终⽌的原因。ERR ERROR
panic报告导致整个数据库被关闭的原因。CRIT ERROR
log_min_duration_operation
参数说明:控制是否进⾏关键性能统计,单位为毫秒。-1表⽰禁⽌,0表⽰打印所有统计信息,⼤于0
时表⽰只统计⼤于这个值的统计信息。使⽤GaussDB运⾏⽇志打印,输出到pg_log⽬录。会被统计的相关信息:
⼀个事务操作过程中对象加锁的时间信息。
⼀个事务加轻量级锁的时间信息。
⼀个事务处理⽆效消息的时间信息。
⼀个事务处理操作的时间信息。
⼀个事务提交⽇志的时间信息。
⼀个事务运⾏的时间信息。
取值范围:整型,-1~INT_MAX / 1000
默认值:-1
3. 记录⽇志的内容
debug_print_par
debug_print_rewritten
debug_print_plan
参数说明:包括debug_print_par、debug_print_rewritten和debug_print_plan三个参数,⽤于控制数据库输出运⾏时的调试信息。在执⾏SQL查询时,具体含义如下:
debug_print_par 打印解析树结果。
debug_print_rewritten 打印查询重写结果。
debug_print_plan 打印查询执⾏结果。
注意:
只有当⽇志的级别为log及以上时,这些调试信息才会输出。当这些选项打开时,调试信息只会记录在服务器的⽇志中,⽽不会输出到客户端的⽇志中。通过设置client_min_messages和log_min_messages参数可以改变⽇志级别。