From: | Alexey Bashtanov <bashtanov(at)imap(dot)cc> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | log bind parameter values on error |
Date: | 2018-12-14 23:04:26 |
Message-ID: | 0146a67b-a22a-0519-9082-bc29756b93a2@imap.cc |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hello,
I'd like to propose a patch to log bind parameter values not only when
logging duration,
but also on error (timeout in particular) or in whatever situation the
statement normally gets logged.
This mostly could be useful when the request originator doesn't log them
either, so it's hard
to reproduce the problem.
Unfortunately, when enabled, the feature comes with some memory and CPU
overhead,
as we cannot convert certain values to text when in aborted transaction.
We potentially could do the trick with built-in types, but it would need
cautious work with composite types,
and also require more computation on the logging stage, which is a risk
of cascading errors.
Custom types still wouldn't be loggable, even as passed by client, which
would be not great.
So I decided to cache textual representations on bind stage,
which is especially easy if the client uses text protocol.
Best,
Alexey
Attachment | Content-Type | Size |
---|---|---|
log_parameters_v001.patch | text/x-patch | 23.2 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | David Steele | 2018-12-14 23:05:18 | Re: Add timeline to partial WAL segments |
Previous Message | Andres Freund | 2018-12-14 23:03:48 | Re: Variable-length FunctionCallInfoData |