Index: src/backend/postmaster/syslogger.c =================================================================== --- src/backend/postmaster/syslogger.c (HEAD) +++ src/backend/postmaster/syslogger.c (working copy) @@ -352,7 +352,15 @@ } if (rotation_requested) + { + /* + * Force rotation when both values are zero. + * It means the request was sent by pg_rotate_logfile. + */ + if (!time_based_rotation && size_rotation_for == 0) + size_rotation_for = LOG_DESTINATION_STDERR | LOG_DESTINATION_CSVLOG; logfile_rotate(time_based_rotation, size_rotation_for); + } #ifndef WIN32 @@ -1154,7 +1162,7 @@ EnterCriticalSection(&sysfileSection); #endif fclose(csvlogFile); - syslogFile = fh; + csvlogFile = fh; #ifdef WIN32 LeaveCriticalSection(&sysfileSection); #endif