Com base na resposta de Brian Armstrong, aqui está algo com um pouco mais de explicação e correção. Isso lida com o log criado pelo postgres no OSX instalado pelo Homebrew. Localizado em /etc/newsyslog.d/postgresql.conf
:
# logfilename [owner:group] mode count size(KB) when flags [/pid_file] [sig_num]
/usr/local/var/postgres/postgresql.log : 600 2 2048 * J /usr/local/var/postgres/postmaster.pid
Isso girará o arquivo de registro quando ele atingir 2 MB, manterá 2 arquivos (para um total de 6 MB de armazenamento usado) e compactará os arquivos em bzip2. Ele notificará o processo postgres para reabrir os arquivos de log, uma vez rotacionados, o que é necessário para obter novas entradas de log e liberar o espaço em disco sem reiniciar a máquina.
Importante notar que o tamanho está em KB, não em bytes.
Você pode testar o arquivo de configuração (sem afetar nenhum arquivo) usando sudo newsyslog -nvv
.