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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!