log_destination
英文手册覆盖始于 PostgreSQL 7.4. 来源历史与运行验证各自保留独立版本边界。
当前阅读 PG 18·选择有来源记录的版本
- boot val
- stderr
- category
- Reporting and Logging / Where to Log
- context
- sighup
- documented
- true
- enumvals
- 未知
- extra desc
- Valid values are combinations of "stderr", "syslog", "csvlog", "jsonlog", and "eventlog", depending on the platform.
- lang
- en
- max val
- 未知
- metadata version
- 18
- min val
- 未知
- name
- log_destination
- short desc
- Sets the destination for server log output.
- source
- pg-settings-source-snapshot
- unit
- 未知
- vartype
- string
版本定义 PG 18
PostgreSQL支持多种记录服务器消息的方法,包括 stderr,csvlog,jsonlog和 syslog。在Windows上,eventlog也受支持。将此参数设置为以逗号分隔的所需日志目的地列表。默认情况下仅记录到 stderr。此参数只能在postgresql.conf 文件或服务器命令行中设置。
如果csvlog被包括在log_destination中,日志项会以“逗号分隔值”(CSV)格式被输出,这样可以很方便地把日志载入到程序中。详见第 19.8.4 节。要产生 CSV 格式的日志输出,必须启用logging_collector。
如果jsonlog包含在log_destination中,日志条目将以JSON格式输出,这对将日志加载到程序中很方便。有关详细信息,请参见第 19.8.5 节。必须启用logging_collector才能生成JSON格式的日志输出。
当包含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 系统上,你将需要修改系统的syslog守护进程的配置来使用log_destination的syslog选项。PostgreSQL可以在syslog设施LOCAL0到LOCAL7中记录(见syslog_facility),但是大部分平台上的默认syslog配置会丢弃所有这种消息。你需要在syslog守护进程的配置文件中增加类似以下的内容,使其生效:
local0.* /var/log/postgresql
在 Windows 上,当你使用log_destination的eventlog选项时,你应该在操作系统中注册一个事件源及其库,这样 Windows 事件查看器能够清楚地显示事件日志消息。详见第 18.12 节。
比较版本
来源引用
定义来源
center · PostgreSQL 18 · english-manuals:06312c0c4bc6ca061dccd3da987d5b1f13ae10b9268f240d0263cb26723dfb94
正文语言: zh-Hans · 2026-09-11@29c86d9