Re: Why does log_error_verbosity not apply to server logs?
От | Adrian Klaver |
---|---|
Тема | Re: Why does log_error_verbosity not apply to server logs? |
Дата | |
Msg-id | 5a912f5a-35bd-f83d-cac7-1ad98830997e@aklaver.com обсуждение исходный текст |
Ответ на | Re: Why does log_error_verbosity not apply to server logs? (Jeremy Finzel <finzelj@gmail.com>) |
Список | pgsql-general |
On 4/22/19 1:54 PM, Jeremy Finzel wrote: > > > On Mon, Apr 22, 2019 at 3:47 PM Tom Lane <tgl@sss.pgh.pa.us > <mailto:tgl@sss.pgh.pa.us>> wrote: > > Jeremy Finzel <finzelj@gmail.com <mailto: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. I tried to replicate your example and could not. Questions: 1) Postgres version? 2) What is the actual message you are seeing in the log? > > Thanks, > Jeremy -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: