Re: Why log_statement may not work for a particular database?

From: jacob ndinkwa <jndinkwa(at)gmail(dot)com>
To: Андрей Платонов <poluandrey(at)gmail(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Why log_statement may not work for a particular database?
Date: 2023-06-23 17:03:47
Message-ID: CAKFm-3Co34560ns5s6VPo+UiMgiZd6_uncFx5YXOEcbj=3BQAg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hello Андрей,

Can you check your parameter file to make sure "logging_collector" is ON?

[image: image.png]

On Fri, Jun 23, 2023 at 3:38 AM Андрей Платонов <poluandrey(at)gmail(dot)com>
wrote:

> Hi!
> I have a strange behavior with my logging setting of PostgreSQL 10.21
> version. Statement logging from one of the databases does not get into
> the log(stderr).
>
>
> Databases
> ```
> mydatabase=# \l+
> List
> of databases
> Name | Owner | Encoding | Collate | Ctype | Access
> privileges | Size | Tablespace | Description
>
> -----------+----------+-----------+---------+-------+------------------------+---------+------------+--------------------------------------------
> demo2 | postgres | SQL_ASCII | C | C | =Tc/postgres
> +| 8063 kB | pg_default |
> | | | | |
> postgres=CTc/postgres +| | |
> | | | | |
> demo2=CTc/postgres | | |
> postgres | postgres | SQL_ASCII | C | C |
> | 8487 kB | pg_default | default administrative connection
> database
> template0 | postgres | SQL_ASCII | C | C | =c/postgres
> +| 7663 kB | pg_default | unmodifiable empty database
> | | | | |
> postgres=CTc/postgres | | |
> template1 | postgres | SQL_ASCII | C | C |
> postgres=CTc/postgres +| 8039 kB | pg_default | default template for
> new databases
> | | | | | =c/postgres
> | | |
> mydatabase | postgres | SQL_ASCII | C | C | =Tc/postgres
> +| 1494 GB | pg_default |
> ```
>
> Log settings in a configuration file
> ```
> log_destination = 'stderr'
> log_min_messages = info # values in order of decreasing detail:
> # log
> log_min_error_statement = info # values in order of decreasing
> detail:
> # log
> log_min_duration_statement = 0 # -1 is disabled, 0 logs all
> statements
> # and their durations, > 0 logs
> only
> log_checkpoints = on
> log_connections = off
> log_disconnections = off
> log_duration = on
> log_line_prefix = '%m [%p] %d ' # special values:
> log_lock_waits = on # log lock waits >=
> deadlock_timeout
> log_statement = 'mod' # none, ddl, mod, all
> # -1 disables, 0 logs all temp
> files
> log_timezone = 'UTC'
> log_parser_stats = off
> log_planner_stats = off
> log_executor_stats = off
> log_statement_stats = off
> ```
>
> As I understand settings above should lead to the fact that I should
> see statement logging for all databases into `stderr` (in fact into
> journald), but in fact I have statement logs only for databases -
> `demo2` and `postgres` not for `mydatabase` and I can't figure out
> what wrong and where can be a mistake?!
>
> I also checked the settings of the `mydatabase`
> ```
> mydatabase=# SELECT name, setting FROM pg_settings WHERE name LIKE '%log%';
> name | setting
> ------------------------------------+--------------------------------
> log_autovacuum_min_duration | -1
> log_checkpoints | on
> log_connections | off
> log_destination | stderr
> log_directory | log
> log_disconnections | off
> log_duration | on
> log_error_verbosity | default
> log_executor_stats | off
> log_file_mode | 0600
> log_filename | postgresql-%Y-%m-%d_%H%M%S.log
> log_hostname | off
> log_line_prefix | %m [%p] %d
> log_lock_waits | on
> log_min_duration_statement | 0
> log_min_error_statement | panic
> log_min_messages | panic
> log_parser_stats | off
> log_planner_stats | off
> log_replication_commands | off
> log_rotation_age | 1440
> log_rotation_size | 10240
> log_statement | mod
> log_statement_stats | off
> log_temp_files | -1
> log_timezone | UTC
> log_truncate_on_rotation | off
> logging_collector | off
> ```
>
> and trying to change the `log_statement` to `all` and `ddl` but it
> didn't lead to anything, I still saw statements in journald only for
> `postgres` and `demo2` databases
>
>
>

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Wells Oliver 2023-06-23 18:20:02 Temp getting written to disk despite being smaller than temp_buffers?
Previous Message Андрей Платонов 2023-06-23 07:38:08 Why log_statement may not work for a particular database?