syslog_split_messages
Read PG 18 manual ↗When logging to syslog is enabled, this parameter determines how messages are delivered to syslog.
- Type
- bool
- Context
- sighup
- Measured default
- on
- Unit
- —
- Metadata snapshot
- 18
Definition PG 18 manual
When logging to syslog is enabled, this parameter determines how messages are delivered to syslog. When on (the default), messages are split by lines, and long lines are split so that they will fit into 1024 bytes, which is a typical size limit for traditional syslog implementations. When off, PostgreSQL server log messages are delivered to the syslog service as is, and it is up to the syslog service to cope with the potentially bulky messages.
If syslog is ultimately logging to a text file, then the effect will be the same either way, and it is best to leave the setting on, since most syslog implementations either cannot handle large messages or would need to be specially configured to handle them. But if syslog is ultimately writing into some other medium, it might be necessary or more useful to keep messages logically together.
This parameter can only be set in the postgresql.conf file or on the server command line.
Measured default history
| Version interval | Default |
|---|---|
| 9.6 – 19 | on |
Authored guidance from the GUC source snapshot; the version-specific manual above is the definition reference. View source ↗
How it works
syslog_split_messages splits messages sent to syslog by lines and to fit into 1024 bytes. When enabled, PostgreSQL splits at line boundaries and the traditional 1024-byte limit; disabling it relies on the receiver to handle multiline or long payloads.
syslog_split_messages is a SIGHUP-context setting: a configuration reload activates the new server value without a restart; subsequent operations that consult it use the refreshed value.
It is active only when syslog appears in log_destination, after which the facility, ident, sequence, splitting, host daemon, and remote receiver jointly define record delivery.
Operational considerations
Editing syslog_split_messages without reloading configuration and verifying the effective value and subsequent behavior.
Changing PostgreSQL framing or identifiers without testing the host daemon and remote receiver as one pipeline.
Assuming syslog preserves unlimited message size, multiline boundaries, ordering, or repeated records by default.
Changing syslog_split_messages globally without a rollback plan and a client or operational compatibility test.
Workload guidance
OLAP: Test syslog_split_messages under bursty analytical messages and multiline plans so splitting or receiver limits do not destroy record boundaries.
OLTP: Set syslog_split_messages to match the receiving syslog daemon's routing, framing, deduplication, and message-size contract; validate failover and backpressure with the real collector.
SMALL: Prefer the host's established syslog convention for syslog_split_messages; avoid parallel local-file retention unless it has an explicit purpose and size limit.
Version history 1
- PG 9.5 → 9.6added
Related entries
Further reading
Definition snapshot: english-manuals:7c859357b73dfdffbc9275566cb… · English manual source