Postgresql – Another “log_min_duration_statement is ignored” question

logsperformancepostgresqlpostgresql-9.2postgresql-performance

Following the recommendations in log_min_duration_statement setting is ignored I set these two values and then reloaded.

log_min_duration_statement = 2000
log_statement = 'none'

However, I'm still getting lots of sub-second BINDLOG, BEGINLOG and PARSELOG entries in the log file. What am I doing wrong?

Best Answer

Check individual users and / or dbs for settings that override server settings for logging:

smarlowe=# alter user smarlowe set log_statement='all';
ALTER ROLE
smarlowe=# alter database smarlowe set log_statement='all';
ALTER DATABASE
smarlowe=# \drds
                   List of settings
   Role   | Database |            Settings
----------+----------+---------------------------------
 smarlowe |          | log_statement=all
          | smarlowe | auto_explain.log_min_duration=1+
          |          | log_statement=all