temporary file size clarification
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/14/runtime-config-logging.html
Description:
The setting log_temp_files will enable logging of the usage of temporary
files, including their size in the log files. The setting is given in
kilobytes, which is clearly documented. However, I could not find any clear
documentation that describes the unit of size that is used in the logfiles
themselves, the log line is something like "profiles@profiles LOG:
temporary file: path "base/pgsql_tmp/pgsql_tmp31863.1", size 3137536" but
there is no size unit in the logfile or in the settings documentation. Can
you add whether the log line is in bytes/kilobytes/megabytes?
On Wed, Nov 16, 2022 at 10:26:38AM +0000, PG Doc comments form wrote:
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/14/runtime-config-logging.html
Description:The setting log_temp_files will enable logging of the usage of temporary
files, including their size in the log files. The setting is given in
kilobytes, which is clearly documented. However, I could not find any clear
documentation that describes the unit of size that is used in the logfiles
themselves, the log line is something like "profiles@profiles LOG:
temporary file: path "base/pgsql_tmp/pgsql_tmp31863.1", size 3137536" but
there is no size unit in the logfile or in the settings documentation. Can
you add whether the log line is in bytes/kilobytes/megabytes?
Uh, I believe it is simply in bytes.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson
On 23 Nov 2022, at 20:43, Bruce Momjian <bruce@momjian.us> wrote:
On Wed, Nov 16, 2022 at 10:26:38AM +0000, PG Doc comments form wrote:
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/14/runtime-config-logging.html
Description:The setting log_temp_files will enable logging of the usage of temporary
files, including their size in the log files. The setting is given in
kilobytes, which is clearly documented. However, I could not find any clear
documentation that describes the unit of size that is used in the logfiles
themselves, the log line is something like "profiles@profiles LOG:
temporary file: path "base/pgsql_tmp/pgsql_tmp31863.1", size 3137536" but
there is no size unit in the logfile or in the settings documentation. Can
you add whether the log line is in bytes/kilobytes/megabytes?Uh, I believe it is simply in bytes.
It is, the relevant code path for the logging is:
if ((size / 1024) >= log_temp_files)
ereport(LOG,
(errmsg("temporary file: path \"%s\", size %lu",
path, (unsigned long) size)));
I don't think it's a bad idea to specify the unit in the documentation though,
as suggested by the OP. Since the setting considers a value without unit as
kb, and the logged value is without unit, there is room for confusion.
How about something like the attached?
--
Daniel Gustafsson https://vmware.com/
Attachments:
log_temp_files.diffapplication/octet-stream; name=log_temp_files.diff; x-unix-mode=0644Download+1-1
On Thu, Nov 24, 2022 at 10:14:20AM +0100, Daniel Gustafsson wrote:
On 23 Nov 2022, at 20:43, Bruce Momjian <bruce@momjian.us> wrote:
On Wed, Nov 16, 2022 at 10:26:38AM +0000, PG Doc comments form wrote:
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/14/runtime-config-logging.html
Description:The setting log_temp_files will enable logging of the usage of temporary
files, including their size in the log files. The setting is given in
kilobytes, which is clearly documented. However, I could not find any clear
documentation that describes the unit of size that is used in the logfiles
themselves, the log line is something like "profiles@profiles LOG:
temporary file: path "base/pgsql_tmp/pgsql_tmp31863.1", size 3137536" but
there is no size unit in the logfile or in the settings documentation. Can
you add whether the log line is in bytes/kilobytes/megabytes?Uh, I believe it is simply in bytes.
It is, the relevant code path for the logging is:
if ((size / 1024) >= log_temp_files)
ereport(LOG,
(errmsg("temporary file: path \"%s\", size %lu",
path, (unsigned long) size)));I don't think it's a bad idea to specify the unit in the documentation though,
as suggested by the OP. Since the setting considers a value without unit as
kb, and the logged value is without unit, there is room for confusion.How about something like the attached?
+1
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Embrace your flaws. They make you human, rather than perfect,
which you will never be.
On 25 Nov 2022, at 21:14, Bruce Momjian <bruce@momjian.us> wrote:
On Thu, Nov 24, 2022 at 10:14:20AM +0100, Daniel Gustafsson wrote:
How about something like the attached?
+1
Pushed, thanks!
--
Daniel Gustafsson https://vmware.com/