Postgresql – How to limit the size of the Postgres log

disk-spacelogpostgresqlsize;

I’m using Postgres 9.5 on Ubuntu 14.04. I notice I’m generating a lot of Postgres logs in

/var/log/postgresql/postgresql-9.5-main.log

. I would like to limit the size of this file, and doing some time based rotation (e.g. daily) is not an option. Is there any way I can tell Postgres to rotate its logs once they reach a certain size?

Best Answer

The PostgreSQL Error reporting and logging documentation states:

log_rotation_size (integer)

When logging_collector is enabled, this parameter determines the maximum size of an individual log file. After this many kilobytes have been emitted into a log file, a new log file will be created. Set to zero to disable size-based creation of new log files. This parameter can only be set in the postgresql.conf file or on the server command line.

So, I guess you should set this parameter to the desired value. My postgresql.conf option has the default values:

#log_rotation_size = 10MB       # Automatic rotation of logfiles will  
                # happen after that much log output.  
                # 0 disables.