服务器 频道

PostgreSQL手册之 错误报告和日志

IT168 服务器学院】 
  log_destination (string)

    PostgreSQL 支持多种记录服务器日志的方法, 包括 stderr 和 syslog。 在 Windows 里,还支持 eventlog。 允许把 syslog 作为日志系统。 把这个选项设置为一个逗号分隔的日志目标的列表。缺省是只记录到 stderr。 这个选项只能在服务器启动的时候在 postgresql.conf 文件里面设置。

    redirect_stderr (boolean)

    这个选项允许把那些发送到 stderr 的消息捕获下来, 然后把它们重定向到日志文件里。这个选项,加上日志记录到 stderr 里的组合, 通常比记录到 syslog 更有用, 因为有些消息类型不出现在 syslog 输出(一个常见的例子是动态连接失败消息)。 这个选项只能在服务器启动的时候设置。

    log_directory (string)
   
    在打开了 redirect_stderr 的时候, 这个选项判断日志文件在哪个目录里创建。 它可以声明成绝对路径,或者是与集群的数据目录相对的路径。 这个选项只能在服务器启动的时候在 postgresql.conf 文件里面设置。

    log_filename (string)

    在打开了 redirect_stderr 的时候,这个选项设置所创建的日志文件的文件名。 这个数值是当作 strftime 模式看待的。 因此 % 逃逸可以声明因时间而变的文件名。 如果没有出现 % 逃逸,PostgreSQL 将附着日志文件打开的纪元时间。 比如,如果 log_filename 是 server_log, 那么选择的文件名将是 server_log.1093827753 — 假如日志文件开始于 Sun Aug 29 19:02:33 2004 MST 的话。 这个选项只能在服务器启动的时候在 postgresql.conf 文件里面设置。

    log_rotation_age (integer)

    在打开了 redirect_stderr 的时候, 这个选项设置一个独立的日志文件的最大生存期。 在数值指定的分钟过去之后,将创建一个新的日志文件。 设置为零可以关闭以时间为基础的新日志文件的创建。 这个选项只能在服务器启动的时候在 postgresql.conf 文件里面设置。

     log_rotation_size (integer)

     在打开了 redirect_stderr 的时候, 这个选项设置一个独立的日志文件的最大尺寸。 在数值指定的千字节写入日志文件之后,将会创建一个新的日志文件。 设置为零可以关闭以尺寸为基础的新日志文件的创建。 这个选项只能在服务器启动的时候在 postgresql.conf 文件里面设置。

    log_truncate_on_rotation (boolean)

    如果打开了 redirect_stderr,这个选项将导致 PostgreSQL 阶段(覆盖),而不是附加到任何同名的现有日志文件上。 不过,截断只是发生在因为以时间为基础的旋转的时候创建的新文件上, 而不是在服务器启动的时候或者以尺寸为基础的旋转上。 比如,使用这个选项和类似 postgresql-%H.log 这样的 log_filename 将导致生成 24 个按小时生成的日志文件然后在这些文件上循环。 这个选项只能在服务器启动的时候在 postgresql.conf 文件里面设置。

    例子:保留 7 天的日志,每天一个日志文件,叫做 server_log.Mon, server_log.Tue,等等,并且上周的日志会自动被这周的日志覆盖, 把 log_filename 设置为 server_log.%a, log_truncate_on_rotation 设置为 true, 并且把 log_rotation_age 设置为 1440。

    例子:保留 24 小时的日志,每小时一个日志,但是如果日志文件尺寸大于 1GB 也旋转日志, 设置 log_filename 为 server_log.%H%M, log_truncate_on_rotation 为 true, log_rotation_age 为 60,并且把 log_rotation_size 设置为 1000000。 在 log_filename 里包含 %M 允许任何尺寸驱动的旋转选取一个和开始的文件名同小时数但是名字不同的文件。

    syslog_facility (string)

    如果把日志记录到 syslog 功能打开, 那么这个选项在打开syslog后判断要使用的 syslog "设施"。 你可以从 LOCAL0,LOCAL1,LOCAL2,LOCAL3,LOCAL4, LOCAL5,LOCAL6,LOCAL7 中选择;缺省是LOCAL0。 又见你的系统的 syslog 守护进程文档。这个选项只能在服务器启动的时候设置。

    syslog_ident (string)

    如果打开了向syslog中记日志的功能, 这个选项决定用于在 syslog 日志中标识 PostgreSQL 的程序名。缺省是 postgres。 这个选项只能在服务器启动的时候设置。

 

0
相关文章