client_min_messages (enum)
控制被发送给客户端的消息级别。有效值是DEBUG5、 DEBUG4、DEBUG3、DEBUG2、 DEBUG1、LOG、NOTICE、 WARNING、ERROR、FATAL和PANIC。每个级别都包括其后的所有级别。级别越靠后,被发送的消息越少。默认值是NOTICE。注意LOG在这里有与log_min_messages中不同的排名。
log_min_messages (enum)
控制哪些消息级别被写入到服务器日志。有效值是DEBUG5、DEBUG4、 DEBUG3、DEBUG2、DEBUG1、 INFO、NOTICE、WARNING、 ERROR、LOG、FATAL和 PANIC。每个级别都包括以后的所有级别。级别越靠后,被发送的消息越少。默认值是WARNING。注意LOG在这里有与log_min_messages中不同的排名。只有超级用户可以改变这个设置。
log_min_error_statement (enum)
控制哪些导致一个错误情况的SQL 语句被记录在服务器日志中。任何指定严重级别或更高级别的消息的当前 SQL 语句将被包括在日志项中。有效值是DEBUG5、 DEBUG4、DEBUG3、 DEBUG2、DEBUG1、 INFO、NOTICE、 WARNING、ERROR、 LOG、 FATAL和PANIC。默认值是ERROR,它表示导致错误、日志消息、致命错误或恐慌错误的语句将被记录在日志中。要有效地关闭记录失败语句,将这个参数设置为PANIC。只有超级用户可以改变这个设置。
log_min_duration_statement (integer)
如果语句运行至少指定的毫秒数,将导致记录每一个这种完成的语句的持续时间。将这个参数设置为零将打印所有语句的执行时间。设置为-1 (默认值)将停止记录语句持续时间。例如,如果你设置它为250ms,那么所有运行 250ms 或更久的 SQL 语句将被记录。启用这个参数可以有助于追踪应用中未优化的查询。只有超级用户可以改变这个设置。对于使用扩展查询协议的客户端,解析、绑定和执行步骤的持续时间将被独立记录。注意当把这个选项和log_statement一起使用时,已经被log_statement记录的语句文本不会在持续时间日志消息中重复。如果你没有使用syslog,我们推荐你使用log_line_prefix记录 PID 或会话 ID,这样你可以使用进程 ID 或会话 ID 把语句消息链接到后来的持续时间消息。
表1解释了TeleDB所使用的消息严重级别。如果日志输出被发送到syslog或 Windows 的eventlog,严重级别会按照表中所示进行转换。
表6-1 表1 消息严重级别
严重性 | 用法 | syslog | eventlog |
---|---|---|---|
DEBUG1..DEBUG5 | 为开发者提供连续的更详细的信息。 | 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 |