zoukankan      html  css  js  c++  java
  • PostgreSQL配置文件--日志和错误

    6 错误操作和日志 ERROR REPORTING AND LOGGING

    6.1 日志写到哪里 Where to Log

    6.1.1 log_destination

    字符串
    默认: log_destination = 'stderr' , stderr, csvlog, syslog, and eventlog四选一
    

    6.1.2 log_directory

    字符串
    默认: log_directory = 'log'
    决定存放数据库运行日志文件的目录。可以是绝对路径,也可是相对路径(相对于数据库文件所在的路径)。
    

    6.1.3 log_filename

    字符串
    默认: log_filename = 'postgresql-%a.log'
    数据库运行日志文件的名称。
    %Y、%m、%d、%H、%M和%S,分别表示年、月、日、小时、分和秒。
    没有指定时间信息,系统会自动在log_filename值的末尾加上文件创建时间戳作为文件名。
    

    6.1.4 log_truncate_on_rotation

    布尔值
    默认: log_truncate_on_rotation = on
    系统在创建一个新的数据库运行日志文件时,如果发现存在一个同名的文件,当log_truncate_on_rotation的值是on时,系统覆盖这个同名文件。
    当log_truncate_on_rotation的值是off时,系统将重用这个同名文件,在它的末尾添加新的日志信息。
    要注意的是,只有在log_rotation_age非零时,系统才创建新的日志文件的情况下,才会覆盖同名的日志文件。
    因为数据库重新启动或者因为参数log_rotation_size起作用而创建新的日志文件,不会覆盖同名的日志文件,而是在同名的日志文件末尾添加新的日志信息。
    

    6.1.5 log_rotation_age

    数字型
    默认: log_rotation_age = 1d ,单位是分钟。
    日志轮询时间
    为0不是禁用该功能。
    

    6.1.6 log_rotation_size

    数字型
    默认: log_rotation_size = 0 , 单位是KB。
    日志轮询大小,当文件大小超过该值时进行切换。
    如果一个日志文件写入的数据量超过log_rotation_size的值,数据库将创建一个新的日志文件。
    为0表示禁用该功能。
    

    6.1.7 logging_collector

    布尔值
    默认: logging_collector = on
    是否将使捕获的stderr和csvlog写入日志文件 
    重启数据库生效 
    

    6.1.8 logfilemode

    布尔值
    默认: log_file_mode = 0600                   
    创建日志文件是的权限
    

    # These are relevant when logging to syslog:

    syslog_facility = 'LOCAL0'

    syslog_ident = 'postgres'

    syslog_sequence_numbers = on

    syslog_split_messages = on

    # This is only relevant when logging to eventlog (win32):

    # (change requires restart)

    event_source = 'PostgreSQL'

    6.2 何时写日志 When to Log

    6.2.1 client_min_messages

    字符型
    默认: client_min_messages = notice
    控制发送给客户端的消息级别。
    合法的取值是debug5、debug4、debug3、debug2、debug1、log、notice、warning、error、fatal和panic,每个级别都包含排在它后面的所有级别中的信息。级别越低,发送给客户端的消息就越少。
    

    6.2.2 log_min_messages

    字符型
    默认: log_min_messages = warning
    控制写到数据库日志文件中的消息的级别。
    合法的取值同client_min_messages
    

    6.2.3 log_min_error_statement

    字符型
    默认: log_min_error_statement = error
    控制日志中是否记录导致数据库出现错误的SQL语句。
    

    6.2.4 log_min_duration_statement

    字符型
    默认: log_min_duration_statement = -1
    只log执行时间大于设定值的语句,类似与慢查询
    0表示log所有语句;-1表示不log任何语句。
    

    6.3 What to Log

    6.3.1 log_error_verbosity

    字符型
    默认: log_error_verbosity = default , terse、default、verbose三选一
    控制每条日志信息的详细程度。
    

    6.3.2 log_duration

    布尔值
    默认: log_duration = off
    控制是否记录每个完成的SQL语句的执行时间。
    对于使用扩展协议与数据库通信的客户端,会记载Parse、Bind和Execute的执行时间。
    

    6.3.3 log_hostname

    布尔值
    默认: log_hostname = off
    控制是否及记录客户端的主机名。
    如果设为on,可能会影响数据库的性能,因为解析主机名可能需要一定的时间。
    

    6.3.4 log_checkpoints

    布尔值
    默认: log_checkpoints = off
    控制是否及记录检查点操作信息。
    必须重启数据库才能生效。
    

    6.3.5 log_connections

    布尔值
    默认: log_connections = off
    控制是否及记录客户端连接请求信息。
    必须重启数据库才能生效。
    

    6.3.6 log_disconnections

    布尔值
    默认: log_disconnections = off
    控制是否记录客户端结束连接信息。
    

    6.3.7 log_line_prefix

    字符型
    默认: log_line_prefix = '%m [%p] ' 
    控制每条日志信息的前缀格式。它的格式类似c语言中printf函数的format字符串。
    转义序列
        %a = APP敏
        %u = 用户名
        %d = 数据库名
        %r = 客户端机器名或IP地址,还有客户端端口
        %h = 客户端机器名或IP地址
        %p = 进程ID
        %t = 带微秒的时间
        %m = 不带微秒的时间
        %i = 命令标签: 会话当前执行的命令类型
        %e = SQL state
        %c = 会话ID
        %l = 每个会话的日志编号,从1开始
        %s = 进程启动时间
        %v = 虚拟事务ID (backendID/localXID)
        %x = 事务ID (0表示没有分配事务ID)
        %q = 不产生任何输出。如果当前进程是backend进程,忽略这个转义序列,继续处理后面的转义序列。如果当前进程不是backend进程,忽略这个转义序列和它后面的所有转义序列。
        %%     '%' 字符%
    

    6.3.8 log_lock_waits

    布尔值
    默认: log_lock_waits = off
    如果一个会话等待某个类型的锁的时间超过deadlock_timeout的值,该参数决定是否在数据库日志中记录这个信息。
    

    6.3.9 log_statement

    字符型
    默认: log_statement = 'none'                有效的取值是none、ddl、mod和all
    控制记录哪种SQL语句的执行信息。
    ddl包括所有数据定义语句,如CREATE、ALTER和DROP语句。
    mod包括所有ddl语句和更新数据的语句,例如INSERT、UPDATE、DELETE、TRUNCATE、 COPY FROM、PREPARE和 EXECUTE。
    All包括所有的语句。
    

    6.3.10 log_temp_files

    数字型
    默认: log_temp_files = -1 单位是KB。
    控制是否记录临时文件的删除信息。
    0表示记录所有临时文件的删除信息。
    正整数表示只记录大小比log_temp_files的值大的临时文件的删除信息。
    -1表示不记录任何临时文件删除信息。
    

    6.3.11 log_timezone

    字符串
    默认: log_timezone = 'PRC' ,使用操作系统的时区。
    设置数据库日志文件在写日志文件时使用的时区。
    

    debug_print_parse = off

    debug_print_rewritten = off

    debug_print_plan = off

    debug_pretty_print = on

    log_replication_commands = off

    6.4 Process Title

    cluster_name = ''  added to process titles if nonempty。 (change requires restart)
    update_process_title = on
  • 相关阅读:
    暑假假期周进度报告(第七周)
    暑假假期周进度报告(第五周)
    暑假假期周进度报告(第二周)
    接口 interface 实现接口implements 抽象类 abstract 继承extends
    标准JavaBean
    IO FileInputStream 输入字节流类(读文件) FileOutputStream 输出字节流(写文件) 复制文件
    如何获取任意范围内的一个随机数?
    hadoop 简介
    创建Student数组和Student对象,键盘录入
    云计算01
  • 原文地址:https://www.cnblogs.com/lykops/p/8263098.html
Copyright © 2011-2022 走看看