1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-26 12:21:12 +03:00

Remove obsolete restriction on the range of log_rotation_size.

When syslogger.c was first written, we didn't want to assume that
all platforms have 64-bit ftello.  But we've been assuming that
since v13 (cf commit 799d22461), so let's use that in syslogger.c
and allow log_rotation_size to range up to INT_MAX kilobytes.

The old code effectively limited log_rotation_size to 2GB regardless
of platform.  While nobody's complained, that doesn't seem too far
away from what might be thought reasonable these days.

I noticed this while searching for instances of "1024L" in connection
with commit 041e8b95b.  These were the last such instances.
(We still have instances of L-suffixed literals, but most of them
are associated with wait intervals for pg_usleep or similar functions.
I don't see any urgent reason to change that.)
This commit is contained in:
Tom Lane
2025-01-31 14:36:56 -05:00
parent 041e8b95b8
commit d4c3a6b8ad
2 changed files with 9 additions and 7 deletions

View File

@ -444,19 +444,19 @@ SysLoggerMain(char *startup_data, size_t startup_data_len)
if (!rotation_requested && Log_RotationSize > 0 && !rotation_disabled)
{
/* Do a rotation if file is too big */
if (ftell(syslogFile) >= Log_RotationSize * 1024L)
if (ftello(syslogFile) >= Log_RotationSize * (pgoff_t) 1024)
{
rotation_requested = true;
size_rotation_for |= LOG_DESTINATION_STDERR;
}
if (csvlogFile != NULL &&
ftell(csvlogFile) >= Log_RotationSize * 1024L)
ftello(csvlogFile) >= Log_RotationSize * (pgoff_t) 1024)
{
rotation_requested = true;
size_rotation_for |= LOG_DESTINATION_CSVLOG;
}
if (jsonlogFile != NULL &&
ftell(jsonlogFile) >= Log_RotationSize * 1024L)
ftello(jsonlogFile) >= Log_RotationSize * (pgoff_t) 1024)
{
rotation_requested = true;
size_rotation_for |= LOG_DESTINATION_JSONLOG;
@ -1183,9 +1183,11 @@ pipeThread(void *arg)
*/
if (Log_RotationSize > 0)
{
if (ftell(syslogFile) >= Log_RotationSize * 1024L ||
(csvlogFile != NULL && ftell(csvlogFile) >= Log_RotationSize * 1024L) ||
(jsonlogFile != NULL && ftell(jsonlogFile) >= Log_RotationSize * 1024L))
if (ftello(syslogFile) >= Log_RotationSize * (pgoff_t) 1024 ||
(csvlogFile != NULL &&
ftello(csvlogFile) >= Log_RotationSize * (pgoff_t) 1024) ||
(jsonlogFile != NULL &&
ftello(jsonlogFile) >= Log_RotationSize * (pgoff_t) 1024))
SetLatch(MyLatch);
}
LeaveCriticalSection(&sysloggerSection);

View File

@ -3299,7 +3299,7 @@ struct config_int ConfigureNamesInt[] =
GUC_UNIT_KB
},
&Log_RotationSize,
10 * 1024, 0, INT_MAX / 1024,
10 * 1024, 0, INT_MAX,
NULL, NULL, NULL
},