Skip to content

Reporting and Logging

Complete dossiers for 47 core PostgreSQL settings in Reporting and Logging.

Dossier URLs remain flat; this category exists only to organize browsing and the sidebar.

application_name

application_name is the PostgreSQL setting that defines the application name to be reported in statistics and logs.

cluster_name

cluster_name is the PostgreSQL setting that defines the name of the cluster, which is included in the process title.

debug_pretty_print

debug_pretty_print is the PostgreSQL setting that indents parse and plan tree displays.

debug_print_parse

debug_print_parse is the PostgreSQL setting that controls whether PostgreSQL logs each query’s parse tree.

debug_print_plan

debug_print_plan is the PostgreSQL setting that controls whether PostgreSQL logs each query’s execution plan.

debug_print_raw_parse

debug_print_raw_parse — Logs each query’s raw parse tree. Observed in PG19 Beta 3; its last measured boot default is off in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.

debug_print_rewritten

debug_print_rewritten is the PostgreSQL setting that controls whether PostgreSQL logs each query’s rewritten parse tree.

event_source

event_source is the PostgreSQL setting that defines the application name used to identify PostgreSQL messages in the event log.

log_autoanalyze_min_duration

log_autoanalyze_min_duration — Sets the minimum execution time above which analyze actions by autovacuum will be logged. Observed in PG19 Beta 3; its last measured boot default is 10 min in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.

log_autovacuum_min_duration

log_autovacuum_min_duration is the PostgreSQL setting that defines the minimum execution time above which autovacuum actions will be logged.

log_checkpoints

log_checkpoints is the PostgreSQL setting that controls whether PostgreSQL logs each checkpoint.

log_connections

log_connections is the PostgreSQL setting that controls whether PostgreSQL logs specified aspects of connection establishment and setup.

log_destination

log_destination is the PostgreSQL setting that defines the destination for server log output.

log_directory

log_directory is the PostgreSQL setting that defines the destination directory for log files.

log_disconnections

log_disconnections is the PostgreSQL setting that controls whether PostgreSQL logs end of a session, including duration.

log_duration

log_duration is the PostgreSQL setting that controls whether PostgreSQL logs the duration of each completed SQL statement.

log_error_verbosity

log_error_verbosity is the PostgreSQL setting that defines the verbosity of logged messages.

log_file_mode

log_file_mode is the PostgreSQL setting that defines the file permissions for log files.

log_filename

log_filename is the PostgreSQL setting that defines the file name pattern for log files.

log_hostname

log_hostname is the PostgreSQL setting that controls whether PostgreSQL logs the host name in the connection logs.

log_line_prefix

log_line_prefix is the PostgreSQL setting that controls information prefixed to each log line.

log_lock_failures

log_lock_failures is the PostgreSQL setting that controls whether PostgreSQL logs lock failures.

log_lock_waits

log_lock_waits is the PostgreSQL setting that controls whether PostgreSQL logs long lock waits.

log_min_duration_sample

log_min_duration_sample is the PostgreSQL setting that defines the minimum execution time above which a sample of statements will be logged. Sampling is determined by “log_statement_sample_rate”.

log_min_duration_statement

Logs every completed statement whose duration reaches a threshold. It is a deterministic slow-query capture control, distinct from sampling and from statement cancellation.

log_min_error_statement

log_min_error_statement is the PostgreSQL setting that causes all statements generating error at or above this level to be logged.

log_min_messages

log_min_messages is the PostgreSQL setting that defines the message levels that are logged.

log_parameter_max_length

log_parameter_max_length is the PostgreSQL setting that defines the maximum length in bytes of data logged for bind parameter values when logging statements.

log_parameter_max_length_on_error

log_parameter_max_length_on_error is the PostgreSQL setting that defines the maximum length in bytes of data logged for bind parameter values when logging statements, on error.

log_recovery_conflict_waits

log_recovery_conflict_waits is the PostgreSQL setting that controls whether PostgreSQL logs standby recovery conflict waits.

log_replication_commands

log_replication_commands is the PostgreSQL setting that controls whether PostgreSQL logs each replication command.

log_rotation_age

log_rotation_age is the PostgreSQL setting that defines the amount of time to wait before forcing log file rotation.

log_rotation_size

log_rotation_size is the PostgreSQL setting that defines the maximum size a log file can reach before being rotated.

log_startup_progress_interval

log_startup_progress_interval is the PostgreSQL setting that defines the interval between progress updates for long-running startup operations.

log_statement

log_statement is the PostgreSQL setting that defines the type of statements logged.

log_statement_sample_rate

log_statement_sample_rate is the PostgreSQL setting that defines the fraction of statements exceeding “log_min_duration_sample” to be logged.

log_temp_files

log_temp_files is the PostgreSQL setting that controls whether PostgreSQL logs the use of temporary files larger than this number of kilobytes.

log_timezone

log_timezone is the PostgreSQL setting that defines the time zone to use in log messages.

log_transaction_sample_rate

log_transaction_sample_rate is the PostgreSQL setting that defines the fraction of transactions from which to log all statements.

log_truncate_on_rotation

log_truncate_on_rotation is the PostgreSQL setting that controls whether PostgreSQL truncates existing log files of same name during log rotation.

logging_collector

logging_collector is the PostgreSQL setting that controls whether PostgreSQL starts a subprocess to capture stderr, csvlog and/or jsonlog into log files.

silent_mode

silent_mode — Runs the server silently. Observed in PG9.0–9.1; its last measured boot default is off in PG9.1, with postmaster context. It was removed in PG9.2.

syslog_facility

syslog_facility is the PostgreSQL setting that defines the syslog “facility” to be used when syslog enabled.

syslog_ident

syslog_ident is the PostgreSQL setting that defines the program name used to identify PostgreSQL messages in syslog.

syslog_sequence_numbers

syslog_sequence_numbers is the PostgreSQL setting that adds sequence number to syslog messages to avoid duplicate suppression.

syslog_split_messages

syslog_split_messages is the PostgreSQL setting that splits messages sent to syslog by lines and to fit into 1024 bytes.

update_process_title

update_process_title is the PostgreSQL setting that controls whether PostgreSQL updates the process title to show the active SQL command.