Обсуждение: Limiting line size in Postgres log files

Поиск
Список
Период
Сортировка

Limiting line size in Postgres log files

От
Priancka Chatz
Дата:
Hi Pgsql-Admins,

Is there a way to set the max size of a line logged in Postgres log? Anything beyond a certain size/no-of-character should be logged only till the specified size and leave out the rest. I have an instance where the query statements are very long (more than 100MB) and I don't need the entire statement to be in my logfile. Lets say I need to log any statement only upto 10MB.
 Is this possible? Maybe a workaround?


Thank you in advance,
Priyanka C

Re: Limiting line size in Postgres log files

От
Laurenz Albe
Дата:
On Wed, 2024-06-26 at 13:02 +0200, Priancka Chatz wrote:
> Is there a way to set the max size of a line logged in Postgres log?
> Anything beyond a certain size/no-of-character should be logged only till the specified
> size and leave out the rest. I have an instance where the query statements are very long
> (more than 100MB) and I don't need the entire statement to be in my logfile.
> Lets say I need to log any statement only upto 10MB.
> Is this possible? Maybe a workaround?

I don't think that's possible.

If it were not the size of the statement itself, but the number of parameters, you could set
"log_parameter_max_length" so that only a couple of them are displayed, but the statement
itself is logged in its entirety.

You could experiment with syslog logging and set "syslog_split_messages = off".
Syslog will skip logging long lines, but the limit cannot be configured and is
probably shorter than you want.

Yours,
Laurenz Albe



Re: Limiting line size in Postgres log files

От
Ron Johnson
Дата:
On Wed, Jun 26, 2024 at 7:02 AM Priancka Chatz <pc9926@gmail.com> wrote:
Hi Pgsql-Admins,

Is there a way to set the max size of a line logged in Postgres log? Anything beyond a certain size/no-of-character should be logged only till the specified size and leave out the rest. I have an instance where the query statements are very long (more than 100MB) and I don't need the entire statement to be in my logfile.

That's deeply broken.  Presumably you're loading external data; find a different way of doing it, or disable log_statement.
 
Lets say I need to log any statement only upto 10MB.
 Is this possible? Maybe a workaround?


Thank you in advance,
Priyanka C