log_destination
No restart — takes effect on reloadlist (stderr, csvlog, jsonlog, syslog, eventlog)
Where PostgreSQL writes log lines — plain text, CSV, JSON, syslog, or Windows event log.
What it does
log_destination is a comma-separated list of sinks. 'stderr' is the default; 'csvlog' and 'jsonlog' (PostgreSQL 15+) emit structured records — far easier for log shippers and SIEMs to parse than free-form text. csvlog/jsonlog require logging_collector = on.
How to tune it
Stick with stderr for simple setups. Add jsonlog (or csvlog) when you're feeding logs into a tool that wants structured records. Match your operations stack — a log shipper that parses JSON is much better off with jsonlog than with regex-against-stderr.
Related parameters
- logging_collector
- log_filename
- log_line_prefix