Re: Why does log_error_verbosity not apply to server logs?

Поиск
Список
Период
Сортировка
От Jeremy Finzel
Тема Re: Why does log_error_verbosity not apply to server logs?
Дата
Msg-id CAMa1XUhQdvWHz2nmVMi+U-yhjxORRhbxWZLwf3hSW7zWpvFdcQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Why does log_error_verbosity not apply to server logs?  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Why does log_error_verbosity not apply to server logs?  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: Why does log_error_verbosity not apply to server logs?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general


On Mon, Apr 22, 2019 at 3:47 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Jeremy Finzel <finzelj@gmail.com> writes:
> I have a DO block which is raising a log message with number of rows
> deleted.  It also shows CONTEXT messages every time, which I don't want.
> But setting in the client log_error_verbosity = terse does not work to get
> rid of the messages.  I can't get it to work even setting it on a per-user
> level.

> My client shows terse verbosity as expected, but the server logs always no
> matter what have CONTEXT messages.

Sure sounds to me like what you are setting is something client-side,
not the server's log verbosity.  It works for me:

regression=# do $$ declare x int; y int = 0; begin x := 1/y; end$$;
psql: ERROR:  division by zero
CONTEXT:  PL/pgSQL function inline_code_block line 1 at assignment
regression=# set log_error_verbosity = terse;
SET
regression=# do $$ declare x int; y int = 0; begin x := 1/y; end$$;
psql: ERROR:  division by zero
CONTEXT:  PL/pgSQL function inline_code_block line 1 at assignment

after which I see this in the postmaster log:

2019-04-22 16:40:38.300 EDT [25788] ERROR:  division by zero
2019-04-22 16:40:38.300 EDT [25788] CONTEXT:  PL/pgSQL function inline_code_block line 1 at assignment
2019-04-22 16:40:38.300 EDT [25788] STATEMENT:  do $$ declare x int; y int = 0; begin x := 1/y; end$$;
2019-04-22 16:40:51.654 EDT [25788] ERROR:  division by zero
2019-04-22 16:40:51.654 EDT [25788] STATEMENT:  do $$ declare x int; y int = 0; begin x := 1/y; end$$;

Note that this changed the server log verbosity but *not*
what was displayed on the client side.

(BTW, if you want to get rid of the statement logging as well,
see log_min_error_statement.)

Also note that adjusting log_error_verbosity on the fly
like this requires being superuser, which isn't really
a good way to run in production.  I'd expect though that
you could apply it with ALTER USER SET.

                        regards, tom lane

I am running it differently - explicitly raising a LOG level message, not an ERROR.  The line of interest is the following:

do $$
......
raise log 'pruned % rows from table', rows;
...

Even run as a superuser, it doesn't work. I have run it just as you did above - setting it client side.  Also done it on a per-role basis and it didn't work.

Thanks,
Jeremy

В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: Why does log_error_verbosity not apply to server logs?
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: Why does log_error_verbosity not apply to server logs?