Postgresql学习笔记之——postgresql.conf参数文件中关于日志参数的记录

postgresql.conf中日志相关参数

#log_destination = 'stderr'
# 参数值有以下四种:stderr, csvlog, syslog, and eventlog,默认stder, csvlog 表示输出为CSV格式文档,syslog 表示输出到Linux系统日志中, eventlog 表示输出到Windows事件记录中。此参数有效的前提是logging_collector也必须打开为on
  
logging_collector = on      
# 现在设置为打开状态,默认为off,on 表示收集日志,另外打开后要设置日志记录存放目录。此参数修改需要重启数据库服务。

log_directory = 'pg_log'
# 此参数配置日志的存放目录,现在设置为相对路径,也就是 $PGDATA下,如果想要自定义,需要输入绝对路径目录位置。指定的目录需要手动创建。保证属主和属组是postgres。

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
# 此参数表示日志文件名称,一般使用此值就可以,不需要额外更改。

#log_file_mode = 0600
# 日志文件的权限,默认是600

#log_truncate_on_rotation = off
# 此参数没必要开启,因为如果出现同名的日志文件,开启会清空原来日志,而不是在原来的基础上增加。但是在有一种情况下,可以设置为on,就是日志文件以星期格式命名,一周一轮回,默认就保留了7天日志,这个是一个巧妙的日志处理方法。

#log_rotation_age = 1d
# 单个日志的生存期,默认为1天,在日志文件没有达到log_rotation_size时,一天只生成一个日志文件,单个日志文件大小,如果时间没有超过log_rotation_age,一个日志文件最大只能是10M,否则生成一个新的日志文件。

#syslog_facility = 'LOCAL0' 
#syslog_ident = 'postgres'
#syslog_sequence_numbers = on
#syslog_split_messages = on
# 以上几个参数是在参数log_destination设置为syslog需要配置的。


#event_source = 'PostgreSQL'
# 此参数需要参数log_destination设置为eventlog需要配置的

# 不管是日志输出定向是syslog还是eventlog 参数配置都需重启数据库服务。

#log_min_messages = warning
# 控制写到服务器日志里的信息的详细程度。有效值是DEBUG5, DEBUG4,DEBUG3,DEBUG2,DEBUG1, INFO,NOTICE,WARNING, ERROR,LOG,FATAL, and PANIC。每个级别都包含它后面的级别。越靠后的数值发往服务器日志的信息越少,缺省是WARNING。
                    #   debug2
                    #   debug1
                    #   info
                    #   notice
                    #   warning
                    #   error
                    #   log
                    #   fatal
                    #   panic

#log_min_error_statement = error
# 控制是否在服务器日志里输出那些导致错误条件的 SQL 语句。所有导致一个特定级别(或者更高级别)错误的 SQL 语句都要被记录。有效的值有DEBUG5, DEBUG4,DEBUG3,DEBUG2,DEBUG1,INFO,NOTICE,WARNING,ERROR,LOG,FATAL,和PANIC。缺省是ERROR,表示所有导致错误、致命错误SQL语句都将被记录。

#log_min_duration_statement = -1
# 这个参数非常重要,是排查慢查询的好工具,-1是关闭记录这类日志。 0 是记录所有的查询SQL,如果设置为大于0(毫秒),则超过该值的执行时间的sql会记录下来。

#log_transaction_sample_rate = 0.0

#debug_print_parse = off
# 调试类的日志输出。

#debug_print_rewritten = off

#debug_print_plan = off

#debug_pretty_print = on

#log_checkpoints = off 
# 记录发生检查点的日志

#log_connections = off
# 记录客户连接的日志

#log_disconnections = off
# 记录客户断开的日志

#log_duration = off
# 记录每条SQL语句执行完成消耗的时间,将此配置设置为on,用于统计哪些SQL语句耗时较长。一般用上面那个log_min_duration_statement即可。

#log_error_verbosity = default

#log_hostname = off

log_line_prefix = '%m %p %u %d %r %e'
# 日志输出格式(%m,%p实际意义配置文件中有解释),可根据自己需要设置(能够记录时间,用户名称,数据库名称,客户端IP和端口,sql语句方便定位问题),使用的格式化参数如下:
                    #   %u = user name
                    #   %d = database name
                    #   %r = remote host and port
                    #   %h = remote host
                    #   %p = process ID
                    #   %t = timestamp without milliseconds
                    #   %m = timestamp with milliseconds
                    #   %n = timestamp with milliseconds (as a Unix epoch)
                    #   %i = command tag
                    #   %e = SQL state
                    #   %c = session ID
                    #   %l = session line number
                    #   %s = session start timestamp
                    #   %v = virtual transaction ID
                    #   %x = transaction ID (0 if none)
                    #   %q = stop here in non-session
                    #        processes
                    #   %% = '%'
                    # e.g. '<%u%%%d> '
                    
#log_lock_waits = off
# 控制当一个会话等待时间超过deadlock_timeout而被锁时是否产生一个日志信息。在判断一个锁等待是否会影响性能时是有用的,缺省是off。

#log_statement = 'none'
# none, ddl, mod, all ---- 控制记录哪些SQL语句。none不记录,ddl记录所有数据定义命令,比如CREATE,ALTER,和DROP语句。mod记录所有ddl语句,加上数据修改语句INSERT,UPDATE等,all记录所有执行的语句,将此配置设置为all可跟踪整个数据库执行的SQL语句。

#log_replication_commands = off

#log_temp_files = -1

log_timezone = 'PRC'
# 日志时区,最好和服务器设置同一个时区,方便问题定位

你可能感兴趣的:(Postgresql)