3.1.3 Ensure the logging collector is enabled

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 server start.

Rationale:

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 and for certain other logging parameters to take effect.

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 server (re)start. As root, restart the PostgreSQL service for this change to take effect:

# whoami
root
# systemctl restart postgresql-12
# systemctl status postgresql-12|grep 'ago$'
Active: active (running) since <date>; 1s ago

Default Value:

on

References:

https://www.postgresql.org/docs/12/static/runtime-config-logging.html

See Also

https://workbench.cisecurity.org/files/2536