PostgreSQL 数据库日志收集功能开启一日志写到哪里-参数 log_destination 设置

log_destination (string)

  日志记录类型,默认是stderr,只记录错误输出,推荐csvlog,总共包含:stderr, csvlog, syslog, and eventlog.

  PostgreSQL支持多种记录服务器消息的方法,包括stderr、csvlog、jsonlog和syslog。在Windows上,也支持eventlog。将此参数设置为以逗号分隔的所需日志目的地列表。默认是只记录到stderr。该参数只能在postgresql.conf文件或服务器命令行中设置。

  如果log_destination中包含csvlog,则日志条目将以comma separated value” (CSV) 格式输出,方便程序加载日志。详细信息请参见到官方文档(见)(引用文档csvlog)。要生成CSV文件,必须启用logging_collector

  如果在log_destination中包含jsonlog,则日志条目以JSON格式输出,方便将日志加载到程序中。详细信息请参见官方文档(见)(引用文档jsonlog。要生成json格式的日志输出,必须启用logging_collector。
  如果要包含stderr、csvlog或jsonlog时,将创建文件current_logfiles来记录日志收集器和关联的日志目的地当前使用的日志文件的位置。这提供了一种方便的方法来查找实例当前正在使用的日志。以下是该文件内容的示例:

stderr log/postgresql.log
csvlog log/postgresql.csv
jsonlog log/postgresql.json

  当一个新的日志文件作为滚动的效果被创建时,以及当log_destination被重新加载时,Current_logfiles被重新创建。当log_destination中不包含任何stderr、csvlog或jsonlog时,而且当日志收集器被禁用时,它将被删除。

注意事项:

  在大多数Unix系统上,为了使用log_destination的syslog选项,您需要更改系统的syslog守护进程的配置。PostgreSQL可以记录到LOCAL0到LOCAL7的syslog设施(参见syslog_facility),但是大多数平台上的默认syslog配置将丢弃所有这样的消息。您需要添加如下内容:

local0.* /var/log/postgresql

到syslog守护进程的配置文件,使其工作。

在Windows上,当您为log_destination使用eventlog选项时,您应该向操作符注册一个事件源及其库

 

引用原文档链接:

https://www.postgresql.org/docs/16/runtime-config-logging.html

csvlog

https://www.postgresql.org/docs/16/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-CSVLOG

jsonlog

https://www.postgresql.org/docs/16/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-JSONLOG

syslog_facility:

https://www.postgresql.org/docs/16/runtime-config-logging.html#GUC-SYSLOG-FACILITY

Windows Event Viewer can display event log messages cleanly:

https://www.postgresql.org/docs/16/event-log-registration.html

posted @   haoword_wang  阅读(245)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示