On Sun, Jan 15, 2017 at 1:27 AM, Pavel Stehule <pavel.steh...@gmail.com> wrote:
> Hi > > Proposed result: > postgres=# select foo(0, 100); > ERROR: division by zero > CONTEXT: PL/pgSQL function foo(double precision) line 3 at RETURN > ARGUMENTS: a=0, b=100 > +1 This would be useful in cases where an app calls one procedure and then disconnects. It's hard to know which of the thousands of invocations caused the error. > > * only function parameters are printed - no local parameters > +1, we'd have no insight into variables inside the function anyway. > * the line of arguments will be limited - X chars ? > +1 > * the content of variable should be limited - X chars ? - maybe 40 chars > > This function can has impact on performance - so it should be explicitly > enabled with some GUC - like extra_back_trace or some similar. Probably > before any call the function parameters and related out functions should be > copied to safe memory context. More it can increase press on Error Memory > Context and possibly on log size. > func_args_back_trace?