Re: Truncate logs by max_log_size

From: Jim Jones <jim(dot)jones(at)uni-muenster(dot)de>
To: Kirill Gavrilov <diphantxm(at)gmail(dot)com>
Cc: Kirill Reshke <reshkekirill(at)gmail(dot)com>, "Andrey M(dot) Borodin" <x4mmm(at)yandex-team(dot)ru>, Euler Taveira <euler(at)eulerto(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Truncate logs by max_log_size
Date: 2024-11-29 19:12:44
Message-ID: 3f1b817f-6e7a-4e01-bfc5-50ea3724225e@uni-muenster.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 29.11.24 12:05, Kirill Gavrilov wrote:
>   Setting max_log_size to 0 already disables truncation.
>   I changed guc units to bytes, just to make it more human-friendly.
> Did some refactoring and fixed all warnings. Set default value in
> postgresql.conf.

Nice. The patch applies cleanly and the warnings are gone.

A few other things:

IMHO the documentation can be a bit clearer. It says to input the values
in bytes, but the default value is in megabytes.

+        If greater than zero, each query logged is truncated to this
many bytes.
+        Zero disables the setting.
+        Default value is 5MB.

Perhaps something like "If this value is specified without units, it is
taken as bytes." (see wal_keep_size)

And a pedantic note: This hint suggests that you can use TB as unit ..

postgres=# set max_log_size = '1foo';
ERROR:  invalid value for parameter "max_log_size": "1foo"
HINT:  Valid units for this parameter are "B", "kB", "MB", "GB", and "TB".

.. but it can never be used, as it exceeds the integer range:

postgres=# SET max_log_size = '1TB';
ERROR:  invalid value for parameter "max_log_size": "1TB"
HINT:  Value exceeds integer range.

Thanks

--
Jim

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2024-11-29 19:30:41 Re: Cannot find a working 64-bit integer type on Illumos
Previous Message Masahiko Sawada 2024-11-29 18:49:16 Re: UUID v7