Обсуждение: 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/
Вложения
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/