类型: | bool |
默认: | off |
上下文: | postmaster |
重新开始: | true |
这个参数启用日志收集器,它是一个捕捉被发送到stderr的日志消息的后台进程,并且它会将这些消息重定向到日志文件中。这种方法比记录到syslog通常更有用,因为某些类型的消息不会在syslog输出中出现(一个常见的例子是动态链接器错误消息;另一个例子是由archive_command等脚本产生的错误消息)。这个参数只能在服务器启动时设置。
也可以不使用日志收集器而把日志记录到stderr,日志消息将只会去到服务器的stderr被定向到的位置。不过,那种方法只适合于低日志量,因为它没有提供方法来轮转日志文件。还有,在某些不使用日志收集器的平台上可能会导致丢失或者混淆日志输出,因为多个进程并发写入同一个日志文件时会覆盖彼此的输出。
日志收集器被设计成从来不会丢失消息。这意味着在极高的负载下,如果服务器进程试图在收集器已经落后时发送更多的日志消息,那么它会被阻塞。相反,syslog倾向于在无法写入消息时丢掉消息,这意味着在这样的情况下它可能会无法记录某些消息,但是它不会阻塞系统的其他部分。
建议 [EN]
Only relevant for “csvlog” and “stderr”.
在 StackOverflow
在 pgsql-hackers
- Logger process and "LOG: could not close client or listen socket: Bad file descriptor"
- Re: Use FD_CLOEXEC on ListenSockets (was Re: Refactoring backend fork+exec code)
- Re: speed up a logical replica setup
- BUG: deadlock between autovacuum worker and client backend during removal of orphan temp tables with sequences
- Re: Send duration output to separate log files