Information
The logging collector is a background process that captures log messages sent to stderr and redirects them into log files. The logging_collector setting must be enabled in order for this process to run. It can only be set at the server start.
The logging collector approach is often more useful than logging to syslog since some types of messages might not appear in syslog output. One common example is dynamic-linker failure message; another may be error messages produced by scripts such as archive_command
Note: This setting
must
be enabled when log_destination is either stderr or csvlog or logs
will be lost
. Certain other logging parameters require it as well.
Solution
Execute the following SQL statement(s) to remediate this setting:
postgres=# alter system set logging_collector = 'on';
ALTER SYSTEM
Unfortunately, this setting can only be changed at the server (re)start. As root, restart the PostgreSQL service for this change to take effect:
# whoami
root
# systemctl restart postgresql-17
# systemctl status postgresql-17|grep 'ago$'
Active: active (running) since <date>; <count>s ago