Subject: Re: Q: limit the length of log file entries?

From: Tom Lane <[email-masked]>
Date: Wed, 03 Sep 2025 15:07:08 -0400

Albrecht =?iso-8859-1?b?RHJl3w==?= <[email-masked]> writes:
> I have a PL/PGsql DB function 'addval(_id text, _data bytea) RETURNS VOID'.  When a broken bytea is passed as 2nd parameter, something like

> albrecht@test FEHLER:  ungültige hexadezimale Ziffer: »r« bei Zeichen 28
> albrecht@test ANWEISUNG:  SELECT FROM addval('hopp', '\xbroken')

> is printed in the log file.  This is fine and very helpful in this case, but I have a “friendly user” who transmitted a broken hex string of ~100 KBytes as second parameter, resulting in a log line of this size which is not really readable and when done frequently quickly fills the logs.

There isn't any provision for limiting the length of source queries
quoted in the log.  Had your user sent the bytea value as a query
parameter, then log_parameter_max_length[_on_error] would have
applied, but this looks like the value was just inline in the query.

			regards, tom lane

---

From: Albrecht Dreß <[email-masked]>
Date: Thu, 04 Sep 2025 15:48:24 +0000

Am 03.09.25 21:07 schrieb(en) Tom Lane:
> quoted in the log.

I see, thanks for the clarification.  IMHO, it would be nice to have such an option, though…

> Had your user sent the bytea value as a query

I can confirm that the limitation is applied when I call PQexecParams() from a little c test application with the data included in the paramValues array.  The overlong log lines result from queries in a Python script using the psycopg2 module – no idea how this component formats the query.

Thanks again,
Albrecht.