TMAegisBeta
More rules for postgres

PostgreSQL

TMA-POSTGRES-3.1.18

Ensure 'debug_print_plan' is disabled

LowLevel 1Automatedpostgres

Description

The debug_print_plan setting enables printing the execution plan for each executed query. These messages are emitted at the LOG message level. Unless directed otherwise by your organization's logging policy, it is recommended this setting be disabled by setting it to off. Runs psql as ${PGUSER:-postgres} against ${PGDATABASE:-postgres}; set PGHOST/PGPORT and use ~/.pgpass (not PGPASSWORD, see 1.6/1.7) when peer authentication is not available.

How it is checked

Audit method: SQL query

sql_query
out=$(psql -X -U "${PGUSER:-postgres}" -d "${PGDATABASE:-postgres}" -tAc "SHOW debug_print_plan" 2>/dev/null) || exit 1; printf '%s\n' "$out"
Expected output
off

How it is fixed

Fix method: SQL statement

shell
psql -X -U "${PGUSER:-postgres}" -c "ALTER SYSTEM SET debug_print_plan = 'off'" -c "SELECT pg_reload_conf()"

Properties

Operating systems
Any
Tags
postgresdatabaselogging
Reference
CIS PostgreSQL 18 Benchmark v1.0.0 - 3.1.18 Ensure 'debug_print_plan' is disabled

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target postgres