Re: log bind parameter values on error
| От | Alvaro Herrera |
|---|---|
| Тема | Re: log bind parameter values on error |
| Дата | |
| Msg-id | 20191210211247.GA22341@alvherre.pgsql обсуждение исходный текст |
| Ответ на | Re: log bind parameter values on error (Alvaro Herrera <alvherre@2ndquadrant.com>) |
| Ответы |
Re: log bind parameter values on error
|
| Список | pgsql-hackers |
Alexey: I would appreciate it if you give this patch a spin. Let me know if it does what you wanted it to do. On 2019-Dec-10, Alvaro Herrera wrote: > Here's a curious thing that happens with this patch. If you have > log_duration set so that parameters are logged during the bind phase, > and then an error occurs during the execution phase but you don't have > log_parameters_on_error set true, the second error will log the > parameters nonetheless ... because they were saved in the ParamListInfo > struct by the errdetail_params() call in the check_log_durations block > during bind. AFAICS this has a simple solution, which is to stop saving the parameter string in BuildParamLogString; instead, just *return* the string. Caller can then assign it into params->paramValuesStr if appropriate (which, in the case of errdetail_params(), it is not.) v22 does it like that. There is still a much smaller issue that if you have both log_durations set to log the params during bind, and log_parameters_on_error to true, the parameters will appear twice. But I think that's correct by definition. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Вложения
В списке pgsql-hackers по дате отправления: