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)
|
if (!rotation_requested && Log_RotationSize > 0 && !rotation_disabled)
|
||||||
{
|
{
|
||||||
/* Do a rotation if file is too big */
|
/* 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;
|
rotation_requested = true;
|
||||||
size_rotation_for |= LOG_DESTINATION_STDERR;
|
size_rotation_for |= LOG_DESTINATION_STDERR;
|
||||||
}
|
}
|
||||||
if (csvlogFile != NULL &&
|
if (csvlogFile != NULL &&
|
||||||
ftell(csvlogFile) >= Log_RotationSize * 1024L)
|
ftello(csvlogFile) >= Log_RotationSize * (pgoff_t) 1024)
|
||||||
{
|
{
|
||||||
rotation_requested = true;
|
rotation_requested = true;
|
||||||
size_rotation_for |= LOG_DESTINATION_CSVLOG;
|
size_rotation_for |= LOG_DESTINATION_CSVLOG;
|
||||||
}
|
}
|
||||||
if (jsonlogFile != NULL &&
|
if (jsonlogFile != NULL &&
|
||||||
ftell(jsonlogFile) >= Log_RotationSize * 1024L)
|
ftello(jsonlogFile) >= Log_RotationSize * (pgoff_t) 1024)
|
||||||
{
|
{
|
||||||
rotation_requested = true;
|
rotation_requested = true;
|
||||||
size_rotation_for |= LOG_DESTINATION_JSONLOG;
|
size_rotation_for |= LOG_DESTINATION_JSONLOG;
|
||||||
@ -1183,9 +1183,11 @@ pipeThread(void *arg)
|
|||||||
*/
|
*/
|
||||||
if (Log_RotationSize > 0)
|
if (Log_RotationSize > 0)
|
||||||
{
|
{
|
||||||
if (ftell(syslogFile) >= Log_RotationSize * 1024L ||
|
if (ftello(syslogFile) >= Log_RotationSize * (pgoff_t) 1024 ||
|
||||||
(csvlogFile != NULL && ftell(csvlogFile) >= Log_RotationSize * 1024L) ||
|
(csvlogFile != NULL &&
|
||||||
(jsonlogFile != NULL && ftell(jsonlogFile) >= Log_RotationSize * 1024L))
|
ftello(csvlogFile) >= Log_RotationSize * (pgoff_t) 1024) ||
|
||||||
|
(jsonlogFile != NULL &&
|
||||||
|
ftello(jsonlogFile) >= Log_RotationSize * (pgoff_t) 1024))
|
||||||
SetLatch(MyLatch);
|
SetLatch(MyLatch);
|
||||||
}
|
}
|
||||||
LeaveCriticalSection(&sysloggerSection);
|
LeaveCriticalSection(&sysloggerSection);
|
||||||
|
@ -3299,7 +3299,7 @@ struct config_int ConfigureNamesInt[] =
|
|||||||
GUC_UNIT_KB
|
GUC_UNIT_KB
|
||||||
},
|
},
|
||||||
&Log_RotationSize,
|
&Log_RotationSize,
|
||||||
10 * 1024, 0, INT_MAX / 1024,
|
10 * 1024, 0, INT_MAX,
|
||||||
NULL, NULL, NULL
|
NULL, NULL, NULL
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user