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 commit799d22461
), 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 commit041e8b95b
. 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:
@ -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);
|
||||
|
@ -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
|
||||
},
|
||||
|
||||
|
Reference in New Issue
Block a user